1、已知i、j、k为int型变量,若从键盘输入:i=1,j=2,k=3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
A、scanf(\"%d,%d,%d\B、scanf(\"%d %d %d\
C、scanf(\"%2d%2d%2d\D、scanf(\"i=%d,j=%d,k=%d\参考答案:D
2、以下程序的结果是______。 int a ,b; void fun()
{ a=100; b=200; } main()
{ int a=5,b=7; fun();
printf(\"%d %d\\n\}
A、7 5 B、5 7 C、200 100 D、100 200 参考答案:B
3、以下程序段的输出结果是:______。
char s[]=\"\\\\120\\141mn\\n\"; printf(\"%d\\n\
A、14 B、9 C、7 D、8 参考答案:D
4、#include { char c1,c2,c3,c4,c5,c6; scanf(\"%c%c%c%c\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(\"%c%c\\n\} 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是______。 A、1267 B、1278 C、1256 D、1245 参考答案:D 5、有以下程序 main() { char k; int i; for(i=1;i<3;i++) { scanf(\"%c\ switch(k) { case '0': printf(\"another\\n\"); case '1': printf(\"number\\n\"); } } } 程序运行时,从键盘输入:01↙,程序执行后的输出结果是______。 A、number number B、another another C、another number number D、another number 参考答案:C 6、以下四个程序中,完全正确的是______。 A、#include number main(); { /*programming*/ printf(\"programming!\\n\"); } B、include /*/*programming*/*/ printf(\"programming!\\n\"); } C、#include /*programming*/ printf(\"programming!\\n\"); } D、#include /*/programming/*/ printf(\"programming!\\n\"); } 参考答案:C 7、设a=5、b=6、c=7、d=8、m=2、n=2,执行 (m=ad) 后n的值为______。 A、3 B、2 C、1 参考答案:B 8、程序中头文件type1.h的内容是: #define N 5 #define M1 N*3 程序如下: #include \"type1.h\" #define M2 N*2 main() {int i; i=M1+M2; printf(\"%d\\n\ D、4 } 程序编译后运行的输出结果是______。 A、20 B、10 C、25 D、30 参考答案:C 9、设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<6) int a[6]={11,22,33,44,55,66},*m=a; A、a[i] B、*(&a[i]) C、m[i] 参考答案:D 10、以下的for循环: for(m=0,n=0;(n!=23)&&(m<5);m++); D、&(*(a+i) ) A、是无限循环 B、执行5次 C、循环次数不定 D、执行3次 参考答案:B 11、有如下定义 struct person{char name[9]; int age;}; struct person class[10] = { \"John\ \"Paul\ \"Mary\ \"Adam\根据上述定义,能输出字母M的语句是______。 A、printf(\"%c\\n\ B、printf(\"%c\\n\ C、printf(\"%c\\n\D、printf(\"%c\\n\ 参考答案:D 12、阅读以下程序 main() { int x; scanf(\"%d\ if(x--<5)printf(\"%d\\n\ else printf(\"%d\\n\ } 程序运行后,如果从键盘上输入5,则输出结果是______。 A、3 B、6 C、5 D、4 参考答案:D 13、已有文本文件test.txt,其中的内容为:everyone!。以下程序中,文件test.txt已正确为\"读\"而打开,由文件指针fr指向该文件,则程序的输出结果是___________。 #include { FILE *fr;char s[80]; „„ fgets(s,5,fr); printf(\"%s\\n\fclose(fr);} A、ever B、every C、everyo D、everyone! 参考答案:A 14、有以下程序 #include void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,\"w\"); fputs(str,fp); fclose(fp); } main() { WriteStr(\"t1.dat\ WriteStr(\"t1.dat\} 程序运行后,文件t1.dat中的内容是______。 A、startend B、end C、start D、endrt 参考答案:B 15、以下关于long、int和short类型数据占用内存大小的叙述中正确的是______。 A、由用户自己定义 B、根据数据的大小来决定所占内存的字节数 C、均占4个字节 D、由C语言编译系统决定 参考答案:D 二、填空题(每题2分,共40分) 1、字符读写函数____________是用于把一个字符写入磁盘文件。 参考答案:fputc#fputc()#putc#putc() 2、C语言中的关键字共有32个,而且都是________写。提示:大/小 参考答案:小 3、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 参考答案:有参 4、在C语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为\"________\"。 参考答案:%s 5、结构化程序设计的3种基本结构是:顺序结构、_______结构、循环结构。而且正是这三种基本结构构成了复杂的C语言程序。 参考答案:选择#分支 6、在C语言中,关系运算符中的\"大于等于\"表示为________。 参考答案:>= 7、在C语言数据类型中,一个双精度型变量所占字节数是____。 参考答案:8 8、在C语言中,每个变量都具有存储类别属性。存储类别是指数据在内存中存储的方法。并且存储方法分为_______类。 参考答案:2#两 9、在C语言中,将字符串中大写字母转换成小写字母的函数是_____________。 参考答案:strlwr#strlwr()#strlwr(字符串) 10、在C语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其他元素值均为____________。 参考答案:0#零 11、以下程序的输出结果为___________。 #include c=getchar(); /*(输入d)*/ d=c-33; printf("%c",d);} 参考答案:C 12、执行下列程序段后,输出的a的值是_____________。 main() {int a = 1; switch(a) {case 0: a - -;break; case 1: a + +; break; case 2: a=a+5; break; } printf("%d",a);} 参考答案:2 13、已知\"float x=0.5;int y=13;\",则算术表达式\"x+y/5\"的值是_________。 参考答案:2.5#2.500000 14、下列程序段的运行结果是_____。 float b=80 ,*q ; q=&b; printf(\"%f\ 参考答案:80.000000#80.0 15、以下程序的输出结果是_____________。 main() {float x; printf("%.4f\\n",(x=2*4,x+0.5));} 参考答案:8.5000 16、下列程序段的运行结果是_____。 void gun( ) { float x=3.0; } main( ) {float x=1.0; gun( ); printf(\"x=%f\ 参考答案:x=1.000000#x=1.0 17、有以下程序 #include {char a[]={'a','b','\\0'}; int j; j=strlen(a); printf(\"%d\\n\ 程序运行后的输出结果是______。 参考答案:2 18、已知char str[]="happy!",则strlen(str)的值为_____。 参考答案:6 19、执行下列的程序段后,正确的结果是_____________。 int t=2; while( t = 8) t - - ; printf("%d", t ); 参考答案:无限循环#死循环 20、下列程序段的运行结果是_____。 main( ) {int a=5,b=6,c; int sub(int , int); c=sub(a , b); printf(\"%d\\n\int sub( int x , int y ) {int z; z=x-y; return z ; } 参考答案:-1 三、是非题(每题0.5分,共10分) 1、使用strcpy(字符数组,字符串)函数时,字符串后面的'\\0'并没有一起拷贝到字符数组中。 参考答案:否 2、如果在共用体中有若干个不同类型的成员,在每一瞬间只有一个成员起作用,实际上是最后一个存放成员起作用。 参考答案:是 3、当函数的类型为int型时,Turbo C允许省略函数声明。 参考答案:是 4、C程序中的变量一定要先定义后使用。 参考答案:是 5、switch语句中的case和default的出现次序不可以是任意的。 参考答案:否 6、指针变量定义后可以指向任何类型的不同变量。 参考答案:否 7、C语言中字符型变量的存储单元中存放的是该字符的ASCII码值。 参考答案:是 8、如果字符串常量所包含的字符个数等于数组长度,则在整体输出字符数组中的字符串时,会跟出一些不可预见的字符。 参考答案:是 9、全局变量本身就是静态存储方式 参考答案:是 10、C语言中输入与输出操作都是由自定义函数来实现的。 参考答案:否 11、C语言中浮点型常量指数法形式中字母e 或E之前必须有数字。 参考答案:是 12、break语句不能跳出多层循环 参考答案:是 13、C语言对文件读、写之前不必先打开文件,在使用文件之后无需关闭该文件。 参考答案:否 14、在if和else后面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号\"{ }\" 将几个语句括起来,构成一个复合语句。 参考答案:是 15、在多层循环中,continue语句就是终止整个循环的执行。 参考答案:否 16、在定义指针变量时如果不为其赋初值,则它的值是不确定的。 参考答案:是 17、若函数体内没有return语句,程序的流程就执行到函数体的末尾,然后返回到调用函数。这时带回一个不确定的函数值。 参考答案:是 18、结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元的总和一般就是结构体的长度。 参考答案:是 19、C程序是由函数构成的,其中可以有一个或多个 主函数main( )。 参考答案:否 20、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容:#include 四、C程序设计(每题10分,共20分) 1、 给定程序modi.c中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 2、 程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun( int a[][N], int n ),函数的功能是:使数组上半三角元素中的值乘以m 。例如:若m的值为2,a 数组中的值为 | 1 9 7 | | 2 18 14| a = | 2 3 8 | | 2 6 16| | 4 5 6 | | 4 5 12| 注意:部分源程序存在文件prog.c中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include fun(int a[][N],int n) { } void main() { int a[N][N]={1,9,7,2,3,8,4,5,6} ,m; scanf(“%d”,&m); fun(a,m); for(i=0;i 因篇幅问题不能全部显示,请点此查看更多更全内容