黑马程序员技术交流社区
标题:
C语言阶段性联系题
[打印本页]
作者:
韦德460
时间:
2016-1-1 16:21
标题:
C语言阶段性联系题
//1.定义一个长度为5的int数组.分别用while于for遍历打印每一个值.
//(且每种都用两种方式:1.用数组名. 2.用指针)
//2.定义一个函数可以把任意一个整型数组的最小值取出来
//3.定义一个函数可以吧任意一个整型数组的平均值取出来
//4.定义一个字符串数组,并打印里面的每一个字符串
//5.已知一个int数组,int arr[4]={2,4,3,6};问:*(arr+1)与*(&arr+1)的值一样吗?
//6.分别用数组的指针与数组元素的指针去遍历打印第5题中数组里面的每一个值
//7.把int arr[4]={65,66,67,68};转换成一个字符数组char arr[4];
//8.定义一个函数,把任意一个大写字母转换成小写字母.注:大写与小写相差32.如'a'=65 'A'=97
//9.在控制台上输入整数,创建一个长度为3的int数组,用数组的每一个元素的指针组成一个int指针数组,并通过这个int指针数组求int数组的最小值
//10.已知int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;用指针pss把a的值改成100;
//11.定义一个函数指针,并使用
//12.定义一个指针函数
#include <stdio.h>
int getMin(int arr[],int len){
int min = arr[0];
for (int i =0; i < 8; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
float getAvg(int arr[],int len){
int avg = 0;
for (int i =0; i < 8; i++) {
avg += arr[i];
}
return (float)avg/8;
}
char toLower(char ch){
return ch+32;
}
void printLine(int num){
for (int i = 0; i < num; i++) {
printf("--------------------\n");
}
}
char *strFun(int num){
return num>2?"num大于2!":"num不大于2";
}
int main(){
//1.定义一个长度为5的int数组.分别用while于for遍历打印每一个值.
//(且每种都用两种方式:1.用数组名. 2.用指针)
{
// int arr[5] = {2,4,6,1,8};
// int *arrP = arr;
//
// //方法一:用数组名
// int i = 0;
// while (i != 5 ) {
// printf("%d\n",*(arr+i));
// i++;
// }
//
// for (int i = 0; i < 5; i++) {
// printf("%d\n",*(arr+i));
// }
//
// //方法二:用指针
// int i = 0;
// while (i != 5 ) {
// printf("%d\n",*(arrP+i));
// i++;
// }
//
// for (int i = 0; i < 5; i++) {
// printf("%d\n",*(arrP+i));
// }
}
//2.定义一个函数可以把任意一个整型数组的最小值取出来
{
// int arr[8] = {34,2,67,23,435,88,224,5};
// int min = getMin(arr,8);
// printf("数组arr中的最小值为: %d\n",min);
}
//3.定义一个函数可以吧任意一个整型数组的平均值取出来
{
// int arr[8] = {34,2,67,23,435,88,224,5};
// float avg = getAvg(arr,8);
// printf("数组arr中的平均值为: %.2f\n",avg);
}
//4.定义一个字符串数组,并打印里面的每一个字符串
{
// char *strArr[4] = {"itcast","itgaobo","itbaidu","itheima"};
// for (int i = 0; i < 4; i++) {
// //数组下标遍历
//// printf("%s\n",strArr[i]);
// //数组名遍历
// printf("%s\n",*(strArr+i));
// }
}
//5.已知一个int数组,int arr[4]={2,4,3,6};问:*(arr+1)与*(&arr+1)的值一样吗?
{
// int arr[4]={2,4,3,6};
// //*(arr+1):4
// //*(&arr+1):越界
// printf("%d\n",*(arr+1));
// printf("%d\n",*(&arr+1));
}
//6.分别用数组的指针与数组元素的指针去遍历打印第5题中数组里面的每一个值
{
// int arr[4]={2,4,3,6};
// //方法一:数组的指针遍历数组
// int (*ps)[4] = &arr;
// for (int i = 0; i < 4; i++) {
// printf("%d\n",(*ps)[i]);
// }
//
// //方法二:数组元素的指针遍历数组
// int *p = arr;
// for (int i = 0; i < 4; i++) {
// printf("%d\n",*(p+i));
// }
}
//7.把int arr[4]={65,66,67,68};转换成一个字符数组char arr[4];
{
// int arr[4]={65,66,67,68};
// char arrC[4];
// for (int i = 0; i < 4; i++) {
// arrC[i] = arr[i];
// }
// for (int i = 0; i < 4; i++) {
// printf("%c",arrC[i]);
// }
// printf("\n");
}
//8.定义一个函数,把任意一个大写字母转换成小写字母.注:大写与小写相差32.如'a'=65 'A'=97
{
// printf("请输入一个大写字母: ");
// char ch;
// scanf("%c",&ch);
// ch = toLower(ch);
// printf("这个字母的小写形式为: %c\n",ch);
}
//9.在控制台上输入整数,创建一个长度为3的int数组,用数组的每一个元素的指针组成一个int指针数组,并通过这个int指针数组求int数组的最小值
{
// printf("请数组三个整数用逗号隔开: ");
// int arr[3];
// scanf("%d,%d,%d",&arr[0],&arr[1],&arr[2]);
// int *arrP[3] = {&arr[0],&arr[1],&arr[2]};
// int min = **(arrP+0);
// for (int i = 0; i < 3; i++) {
// if (min > **(arrP+i)) {
// min = **(arrP+i);
// }
// }
// printf("通过这个int指针数组求int数组的最小值为: %d\n",min);
}
//10.已知int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;用指针pss把a的值改成100;
{
// int a=4; int *p=&a; int **ps=&p; int ***pss=&ps;
// ***pss = 100;
// printf("a = %d\n",a);
}
//定义一个函数指针,并使用
{
// void (*p)(int num) = printLine;
// p(3);
}
//定义一个指针函数
{
// char *str = strFun(2);
// printf("%s\n",str);
}
return 0;
}
复制代码
作者:
韦德460
时间:
2016-1-1 18:58
自己顶!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2