您好,欢迎访问三七文档
C语言复习考试题类型C语言复习C语言复习一、选择题1、以下说法中正确的是()。A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2、C语言程序的3种基本结构是循环结构、选择结构和()。A)递归结构B)转移结构C)顺序结构D)嵌套结构CCC语言复习3、若已有定义inta,b,c;执行语句scanf(“%d,%d,%d”,&a,&b,&c);若希望a,b,c的值分别为1,2,3,正确的输入应为()。A)123回车B)1,2,3回车C)1回车2回车3回车D)12回车3回车4、程序段“inta=1,b=2,c;c=a/b;”执行后c的值是()。A)0B)1/2C)0.5D)1ABC语言复习5、以下叙述中不正确的是()。A)函数名是属于用户标识符,因此其取名规则与变量相同B)形参只能是变量C)为保证程序的正常运行,函数内定义的变量不能与其他函数中的变量同名D)函数内定义的变量可以与其他函数中的变量同名6、设有如下定义:charnum[]=“1234567890”;数组num所占存储空间的字节数为()。A)9B)10C)11D)前三项都不对CCC语言复习7、C语言程序规定,简单变量做实参时,它和对应的形参之间的数据传递方式是()。A)地址传递B)单向值传递C)由实参传给形参,再由形参传给实参D)由用户指定传递方式8、下列运算符中优先级最高的运算符是()。A)++B)%C)-=D)ABC语言复习9、若有定义“intx,*pb;”,则以下正确的赋值表达式是()。A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x;10、以下叙述中正确的是()。A)在函数中必须要有return语句。B)在函数中可以有多个return语句,但只执行其中一个C)return语句中必须要有一个表达式D)函数值并不总是通过return语句传回调用处ABC语言复习11、为表示关系x≥y≥z,正确的C语言表达式是()。A)(x=y)&&(y=z)B)(x=y)and(y=z)C)(x=y)&(y=z)D)x=y=z12、若有说明inta[10];,则对a数组元素的正确引用是()。A)a[10]B)a{5}C)a(5)D)a[10-10]ADC语言复习13、下面程序段中while循环执行的次数是()。intx=0;while(x=1)x=x-1;A)无限次B)一次也不执行C)执行一次D)由语法错,不能执行14、C语言中,一个函数最多可以有()个返回值。A)0B)1C)2D)3ABC语言复习15、在C语言程序中必须包含一个()。A)语句B)函数调用C)main()函数D)子函数16、变量的指针,其含义是指该变量的()。A)值B)一个标志C)名D)地址CDC语言复习17、以下正确的数组定义语句是()。A)inta[][3]={{0,1,2},{2},{0,1}};B)inta[3][]={{1,2},{1,2,3},{1,2,3,4}};C)inta[2][3]={{0,1},{2},{3}};D)inta[1][4]={1,2,3,4,5};18、为了判断两个字符串s1和s2是否相等,应使用()。A)if(s1==s2)B)if(s1=s2)C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)ADC语言复习19、以下关于C语言字符串的叙述中错误的是()。A)C语言中没有字符串数据类型B)字符串的结束标志使用“\0”C)字符串与字符数组的使用方法完全一致D)字符串借助于字符数组存储20、设变量定义“inta[10];”,则表达式()不符合C语言语法。A)*aB)a++C)aD)a[0]CBC语言复习二、程序分析题1、写出下列程序的输出结果。#includestdio.hvoidmain(){inta=1,b=1,t;if(t=12)a++;elseb++;printf(“a=%d,b=%d\n”,a,b);}a=2,b=1C语言复习2、写出下列程序的输出结果。#includestdio.hvoidmain(){inti=1,sum=0;while(i=10){sum=sum+i;i+=2;}printf(“sum=%d,i=%d\n”,sum,i);}sum=25,i=11C语言复习3、写出下列程序的输出结果。#includestdio.hintfun(intx,intn){intt=1,i;for(i=0;in;i++)t=t*x;returnt;}voidmain(){intx=2,y=4,p=0;p=fun(x,y);printf(“fun(%d,%d)=%d\n”,x,y,p);}fun(2,4)=16C语言复习4、写出下列程序的输出结果。#includestdio.hvoidmain(){intx=1,y=0,i=1,j=1;switch(x){case1:switch(y){case0:i++;break;case1:j++;break;}case2:i++;j++;break;}printf(“i=%d,j=%d\n”,i,j);}i=3,j=2C语言复习5、写出下列程序的输出结果。#includestdio.hvoidmain(){inti,t,a[5]={2,4,6,8,10};for(i=0;i5/2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}for(i=0;i5;i++)printf(“%4d”,a[i]);}108642C语言复习1、编写函数iseven,其功能为判断一个整数是否为偶数,若是偶数,返回1,否则返回0。在主函数中调用此函数,对输入的一个整数进行判断,若是偶数,输出even,否则输出odd.三、编程题#includestdio.hintiseven(intx){if(x%2==0)return1;elsereturn0;}voidmain(){intx,y;printf(请输入一个整数:);scanf(%d,&x);y=iseven(x);if(y==1)printf(even\n);elseprintf(odd\n);}C语言复习2、编写程序,定义两个字符数组a,b,存放字符串,由键盘输入,显示a和b数组中的字符串,然后将b数组中的字符串复制到a数组中(禁止使用strcpy函数),显示复制后的a数组和b数组中的字符串。#includestdio.hvoidmain(){chara[50],b[50];inti;printf(请输入字符串a:);gets(a);printf(请输入字符串b:);gets(b);printf(a=%s\t\tb=%s\n,a,b);i=0;while(b[i]!='\0'){a[i]=b[i];i++;}a[i]='\0';printf(a=%s\tb=%s\n,a,b);}C语言复习3、编程求x的阶乘和y的阶乘的和,其中x,y由键盘输入。要求设计一个fac(n)函数求正整数n的阶乘。#includestdio.hintfac(intn){inti,f;f=1;for(i=1;i=n;i++)f=f*i;returnf;}voidmain(){intx,y,f1,f2,f;printf(请输入两个正整数:);scanf(%d%d,&x,&y);f1=fac(x);f2=fac(y);f=f1+f2;printf(%d!+%d!=%d\n,x,y,f);}C语言复习4、编写程序,由用户输入一个三位正整数并求它的各位数字之和,如:用户输入123,输入123的各位之和是6。#includestdio.hvoidmain(){intx,a,b,c,s;printf(请输入一个三位正整数:);scanf(%3d,&x);a=x/100;b=(x%100)/10;c=x%10;s=a+b+c;printf(%d的各位数字之和%d\n,x,s);}C语言复习5、计算分段函数y的值,x的值由键盘输入。2x-1x0y=100=10x2+1x10要求以“x=,y=“的格式输出x和y的值(如x=11.00,y=122.00),结果保留2位小数。#includestdio.hvoidmain(){floatx,y;printf(请输入x的值:);scanf(%f,&x);if(x0)y=2*x-1;elseif(x=10)y=1;elsey=x*x+1;printf(x=%.2f,y=%.2f\n,x,y);}C语言复习6、从键盘输入某班30名学生C语言的成绩,并计算平均成绩,要求输出保留两位小数。#includestdio.hvoidmain(){floatscore[30],ave=0;inti;printf(请输入30名学生的成绩:);for(i=0;i30;i++)scanf(%f,&score[i]);for(i=0;i30;i++)ave=ave+score[i];ave=ave/30;printf(平均成绩=%.2f\n,ave);}
本文标题:C语言复习
链接地址:https://www.777doc.com/doc-3203205 .html