当前位置:首页 > C语言A复习资料
C语言程序设计复习资料
一、填空题
1.C语言中,int类型数据占2个字节,则long类型数据占__________________个字节。 2.若已知a=10,b=15,c=1,则表达式a*b&&c的值为__________________。 3.已知int x=2;则表达式(x&&1= =1)?1:0 的值为__________________。 4.已知int a=12,n=5;则表达式a%=(n%=3),运算后a的值为__________________。 5.若已知a=10,b=20,则表达式 !a
6.设float c,f;将数学表达式c=5(f-32)/9能正确表示成C语言赋值表达式的是__________________。
7.设int a[10];则数组a的首元素是__________________。
8.设int a=0,b=0,c;则执行c=(a-=b-5),(a=b,b=3);后变量c的值是__________________。 9.设int a=0,b=0,c=2,d=4;则执行(c=a= =b)||(d=b= =a);后变量d的值是__________________。
10.设char s[ ]="apple";,则数组s的长度是__________________。 11.设int x;则将x强制转换为双精度类型应写成__________________。
12.函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是__________________传递。 二、单项选择题
1.若已知int x=13,则表达式x/5的结果为( )。 A.3
B.2
C.2.5
D.2.6
2.对二维数组的正确定义是( ) A.int a[ ] [ ]={1,2,3,4,5,6}; C.int a[ ] [3]={1,2,3,4,5,6}; A. 'a'<=c1<='z'
B.int a[2] [ ]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
3.判断char型变量c1是否为小写字母的最简单且正确的表达式为( )。
B.(c1>=a)&&(c1<=z) D.(c1>='a')&&(c1<='z')
C.非0正数
D.非0的数
C.( 'a'<=c1&&'z')>=c1 A.true
main( ) { int i;
for (i=0;i<9;i++) } A.9
B.10 B. ++
C.8
D.11
6.下列运算符中,优选级最高的是( )。 A. ?:
C. &&
D. +=
;
printf(\,i);
4.在C语言中,逻辑“真”用( )表示。
B.大于1的数
5.下列程序运行后的输出为( )。
7.C语言中运算对象必需是整形的运算符是( )。 A. %
B. +
C. *
D. !
8.字符数组s不能作为字符串使用的是( )
A.char s[ ]="happy"; B.char s[ ]={"happy"}; C.char s[6]={'h','a','p','p','y'}; D.char s[4]={'h','a','p','p','y'};
9.对输入语句scanf(\;%d;%d \,&a,&b,&c)的正确输入为( )。 A. 1:2 :3 A.0
B.1,2 ,3 B.3
C.1 ;2 ;3 C.5
D.1 2 3 D.变量i的地址
10.若已知int i=3,*pi;则执行语句pi=&i,*pi=5后i的值为( )。 11.可以用作C程序标识符的一组是( ) A.print oodb pow
B.i\\\\am one-half 3pai D.Cpp line# while
C. 0
D. 2.5
C.Pxq aBc His.age A. 1.0
B. 2.0
12.若已定义变量x和y为double类型,则表达式x=1,y+x+3/2的值为( )。 13.在函数调用时,以下说法正确的是( ) A.函数调用后必须带回返回值 件里
三、程序填充题, 给出下列程序,将横线处缺少的部分补上,使其能正确运行。 1.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。 int neg=0,pos=0,zero=0; void sele(int num) {
if(num>0)neg ++; else if(num<0)pos ++;
else ______________ ;/ * 第一空 */ } main ( ) {
int i,a[10]; for(i=0;i<10;i++) {
scanf("%d",&a[i]); printf("]",a[i]);
self(_________________); / * 第二空 */
B.实际参数和形式参数可以同名
D.主调函数和被调函数总是在同一个文
C.函数间的数据传递不可以使用全局变量
}
printf("\\\\nneg=%d,pos=%d,zero=%d\\\\n",_______________); / * 第三空 */ }
2.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。 main ( ) {
int score;
scanf ("%d",&score); printf ("%d->",score); if(__________________) / * 第一空 * / switch (___________________) / * 第二空 */ { case 9:
case 10: printf (" Excellent \\\\ n");break; case 8: printf ("Good \\\\ n");break; case 7: printf ("Middle \\\\ n"); break;
case 6: printf ("Pass \\\\ n");_______________;/* 第三空 */ default: printf ("No pass \\\\ n"); }
else printf ("Input error! \\\\ n"); }
四、阅读下面程序,并写出运行结果 1.main( )
{ int a[ ]={2,4,6,8,10}; int y=1,x,*p; p=&a[1];
for (x=0;x<3;x++) y+=*(p+x);
printf(\,y); }
程序运行结果是: 2.swap(int x,int y)
{ int temp;
temp=x;x=y;y=temp;
printf(\,y=%d\\n\,x,y); } main( )
{ int a=3,b=5; swap(a,b);
printf(\,b=%d\\n\,a,b); }
程序运行结果是:
3.main( )
{ int i=0,sum=1; do
{ sum+=i++; }while (i<5);
printf(\,sum); }
程序的运行结果是:
4.main( )
{ int a[6],i; for (i=1;i<6;i++){
a[ i ]=6*(i-1+4*(i/3))%5; printf(\,a[ i ]);} }
程序运行的结果是:
1. 5.用循环语句编写一程序输出下列结果。1
2 3 4
4 6 8
9 12 16
参考答案
一、填空题
1、4 2、1 3、1 4、0 5、1 6、c=5*(f-32)/9 7、a[0] 8、5 9、1 10、5 11、(double)x 12、地址 二、单项选择题 题号 答案 题号 答案 1 8 2 9 C 3 10 C 4 11 C 5 12 D 6 13 B 7 三、程序填充题, 给出下列程序,将横线处缺少的部分补上,使其能正确运行。
1.第一空:zero++; 第二空 :a[i]
第三空 :neg,pos,zero
2.第一空:score/10 第二空:score 第三空:break
四、阅读下面程序,并写出运行结果 五、1.程序运行结果是:y=19
2.程序运行结果是:x=5,y=3
a=3,b=5 3.程序运行结果是:11
六、用循环语句编写一程序输出下列结果。 1
2 4
3 6 9 4
8
12 16
程序如下: main()
{ int i,j;
for (i=1;i<=4;i++) { for (j=1;j<=i;j++)
printf(\printf(\} }
共分享92篇相关文档