1、C语言程序设计A复习资料一 一、单选题 1. 由C语言目的文献连接而成的可执行文献的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 2. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 28 3. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C.
2、 0~19 D. 0~20
4. for循环语句“for(i=0; i 3、0]='5';
6. 若有一个函数原型为“double *function()”,则它的返回值类型为( )。
A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型
7. 在C语言中,所有预解决命令都是以( )符号开头的。
A. * B. # C. & D. @
8. 假定整数指针p所指数据单元的值为30,p+1所指数据单元的值为40,则执行*p++后,p所指数据单元的值为( )。
A. 40 B. 30 C. 7 4、0 D. 10
9. 若要使p指向二维整型数组a[10][20],则p的类型为( )。
A. int * B. int ** C. int *[20] D. int(*)[20]
10. 表达文献结束符的符号常量为( )
A. eof B. Eof C. EOF D. feof
二、填空题
1.一个函数定义由________和函数体两部分组成。
2. 执行“printf("%c",'F'-2);”语句后得到的输出结果为_____ 5、
3.int类型的长度为________。
4. 表达式(float)25/4的值为________。
5.若x=5,y=10,则x<=y的逻辑值为________。
6. 作为语句标号使用的case和default只能用于________语句的定义体中。
7. 在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
8. 假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为________。
9. 存储字符'a'需要占用存储器的________个字节空间。
6、
10. 用于存储一个长度为n的字符串的字符数组的长度至少为________。
11. 假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式(*p)++后,p所指对象的值为________。
12. 假定p是一个指向整数对象的指针,则用________表达该整数对象。
13.假定一个结构类型的定义为“struct B{int a[5]; char* b;};”,则该类型的理论长度为________。
三、写出下列每个程序运营后的输出结果
1. #include 7、 int i, s1=0, s2=0;
for(i=0;i<10;i++)
if(i%2) s1+=i;
else s2+=i;
printf("%d %d\n",s1,s2);
}
2. #include 8、 if(i>M/2) break;
if(M%i==0) printf("%d ",i);
i++;
}
printf("\n");
}
3. #include 9、 i<6; i++) {
switch(a[i]%2) {
case 0: s2+=a[i];break;
case 1: s1+=a[i];break;
}
}
printf("%d %d\n",s1,s2);
}
4. #include 10、},{6,8,20}};
int i,*p=&a[0][0];
for(i=0;i<9;i++) {
if(*p>10) printf("%d ",*p);
p++;
}
printf("\n");
}
5. #include 11、ay;};
void main() {
struct Worker x;
char *t="liouting";
int d=38; float f=400;
strcpy(x.name,t);
x.age=d; x.pay=f;
x.age++; x.pay*=2;
printf("%s %d %6.2f\n",x.name,x.age,x.pay);
}
四、写出下列每个函数 12、的功能
1. #include 13、 printf("%d ",f->data);
f=f->next;
}
printf("\n");
}
假定struct IntNode的类型定义为:
struct IntNode { int data; struct IntNode* next;};
函数功能:
五、按题目规定编写程序或函数
6. 编写一个程序,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和 14、累加变量的标记符。
6. 根据函数原型“int FF(int a[], int n)”,编写函数定义,计算并返回数组a[n]中所有元素之和。
参考答案
一、单选题
1. B 2. C 3. C 4. A 5. D
6. B 7. B 8. A 9. D 10. C
二、填空题
1. 函数头 2. D 3. 4 4. 6.25
5. 1 6. switch 或开关 或分情况
15、
7. return 或返回 8. M*N
9. 1 10. n+1 11. 26 12. *p 13. 24
三、写出下列每个程序运营后的输出结果
评分标准:根据答案对的限度酌情给分。
1. 25 20
2. 2 4 5 10
3. 20 42
4. 11 13 20
5. liouting 39 800.00
四、写出下列每个函数的功能
评分标准:根据答案叙述的对的与完善限度酌情给分。
1. 比 16、较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a
void main()
{
int i;
int p=1;
int s=1;
17、 for(i=1;i<=10;i++) {p*=3; s+=p;}
printf("%d\n",s);
}
2. int FF(int a[], int n)
{
int i,sum=0;
for(i=0; i 18、言程序设计A复习资料二
一、选择题
1. 由C语言源程序文献编译而成的目的文献的缺省扩展名为( )。
A. cpp B. exe C. obj D. C
2. C语言程序的基本模块为( )。
A. 表达式 B. 标记符 C. 语句 D. 函数
3. x>0 || y==5的相反表达式为( )。
A. x<=0 || y!=5 B. x<=0 && y!=5
C. x>0 || y!=5 D. x>0 && y= 19、5
4. 枚举类型中的每个枚举常量的值都是一个( )。
A. 整数 B. 浮点数
C. 字符 D. 逻辑值
5. 循环语句“for(int i=0; i 20、 s+=i;}
A. 4 B. 5 C. 6 D. 7
7. 若定义了函数 double *function(), 则返回值类型为( )。
A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型
8. 若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址 B. 数组中第一个元素的值
C. 数组中所有元素的值 D. 数组元素的个数
9. 假定a为一个整型数组名,则元素a[4]的地址比 21、该数组的首地址大( )个字节。
A. 4 B. 8 C. 16 D. 32
10. 下列给字符数组赋初值时,对的的是( )。
A. char s1[]="abcdef"; B. char s2[4]="abcd";
C. char s3[2][3]={"abc","xyz"}; D. char s4[4][]={'a','x','s','t'};
A. char *p=s; B. char *p=&s; C. char *p;p=* 22、s; D. char *p; p=&s;
11. 要使p指向二维整型数组a[10][20],p应定义为( )。
A. int *p=a; B. int **p=a; C. int *p[20]=a; D. int(*p)[20]=a;
12. 标准输入设备的文献流标记符是( )。
A. stdin B. stdout C. stderr D. stdio
13. 若要以读/写操作方式打开一个二进制文献,当文献不存在时返回打开失败信息,则选用的打开方式字符串为( ) 23、
A. "r+" B. "ab+" C. "rb+" D. "wb+"
二、填空题
1. 单行或多行注释的开始标记符为__________。
2. 使用#include命令可以包含一个头文献,也可以包含一个______文献。
3. 执行“printf("%s%s%d","wei","rong",18);”语句后得到的输出结果为________。
4.执行“printf("%c",'A'+2);”语句后得到的输出结果为________。
5.short类型的大小为________个字节。
24、 6. 十进制数3.26f的类型为________。
7. 假定y=10,则表达式++y*3的值为________。
8. 关系表达式(x==0)的等价表达式为________。
9.若x=5,y=10,则x!=y的逻辑值为________。
10. 在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。
11. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。
12. 假定二维数组的定义为“char a[M][N];”,则该数组所占存储空间的字节数为_______ 25、
13. 存储字符串"a"需要占用存储器的________个字节空间。
14. strlen函数用于计算一个字符串的________。
15.函数中的形参变量的初值由调用该函数时相应的________值决定。
16. 程序的编译是以__________为单位进行的。
17. 假定a是一个一维数组,则a[i]的指针访问方式为________。
18. 执行int *p=malloc(sizeof(int))操作得到的一个动态分派的整型对象为________。
19. 假定要动态分派一个类型为struct Worker的具 26、有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为 ________________ =malloc(n*sizeof(struct Worker))。
20. 与结构成员访问表达式p->name等价的表达式是____________。
三、写出下列每个程序运营后的输出结果
1. #include 27、i%2==0) s+=i;
}
printf("i,s=%d, %d\n",i,s);
}
2. #include 28、n==0) break;
}
}
3. #include 29、 }while(x>=i && y>=i);
printf("%d\n",p*x*y);
}
4. #include 30、 if(a[i]
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818