答案:B
第8题 (2.0分) 题号:508 int a=1,b=2,c=3;
if(a>c)b=a;a=c;c=b;则c的值为()。 A:1 B:2 C:3 D:不一定 答案:B
第9题 (2.0分) 题号:190
定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )
for(i=0;i<3;i++) printf(\A:1 5 9 B:1 4 7 C:3 5 7 D:3 6 9 答案:C
第10题 (2.0分) 题号:181 C语言中函数调用的方式有()。 A:函数调用作为语句一种 B:函数调用作为函数表达式一种 C:函数调用作为语句或函数表达式两种 D:函数调用作为语句、函数表达式或函数参数三种 答案:D
第11题 (2.0分) 题号:3144 若x=2,y=3则x||y的结果是 A:0 B:1 C:2 D:3 答案:B
第12题 (2.0分) 题号:3131
判断两个字符串是否相等,正确的表达方式是 A:while(s1= =s2) B:while(s1=s2)
C:while(strcmp(s1,s2)==0) D:while(strcmp(s1,s2)=0) 答案:C
第13题 (2.0分) 题号:188 两个指针变量不可以()。 A:相加 B:比较 C:相减
D:指向同一地址 答案:A
第14题 (2.0分) 题号:569
C语言规定,在一个源程序中,main函数的位置()。 A:必须在最开始
B:必须在系统调用的库函数的后面 C:可以任意 D:必须在最后
答案:C
第15题 (2.0分) 题号:3112
下列语句定义pf为指向float类型变量f的指针,_____是正确的. A:float f, *pf = f; B:float f, *pf = &f; C:float *pf = &f, f; D:float f, pf 答案:B
━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━
第1题 (15.0分) 题号:18
/*------------------------------------------------------- 【程序填空】
---------------------------------------------------------
功能:将一个数组中的元素按逆序存放。
-------------------------------------------------------*/ #include
static int a[N]={12,9,16,5,7,2,1},k,s; printf(\ for (k=0;k /***********SPACE***********/ for (k=0;k /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf(\ for (k=0;k /***********SPACE***********/ 【?】 (\} 答案: =======(答案1)======= k++ =========或========= k= k + 1 =========或========= k+=1 =========或========= ++k =======(答案2)======= a[k]=a[N-k-1] =========或========= a[k]=a[N-1-k] =========或========= a[k]=a[6-k] =========或========= *(a+k)=*(a+N-k-1) =========或========= *(a+k)=*(a+N-1-k] =========或========= a[k]=a[-1+N-k] =========或========= a[k]=a[-1-k+N] =========或========= a[k]=a[-k-1+N] 【程序改错】 -------------------------------------------------------- 功能:求圆面积的二分之一。函数通过形参得到圆的半径。 例如:输入圆的半径值:19.527 输出为:s = =======(答案2)======= s=1.0/2*3.14159* r * r; =======(答案3)======= return s; ━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(\ if(IN==NULL) =========或========= a[k]=a[-k+N-1] =========或========= *(a+k)=*(a+N-k-1) =========或========= a[6-k]=s =======(答案3)======= a[N-k-1]=s =========或========= a[N-1-k]=s =========或========= a[6-k]=s =========或========= a[N -k -1]=s =========或========= *(a +N -k -1)=s =======(答案4)======= printf ━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:381 /*------------------------------------------------------ 598.950017。 ------------------------------------------------------*/ #include /**********FOUND**********/ double fun( r) { double s; /**********FOUND**********/ s=1/2*3.14159* r * r; /**********FOUND**********/ return r; } void main() { double fun(float); float x; printf ( \ scanf ( \ printf (\} 答案: =======(答案1)======= float fun(float r) =========或========= double fun(float r) =========或========= double fun(double r) ━━━━━━━━━━━━━━━━ 第1题 (20.0分) 题号:33 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:输入自然数m,用do-while语句求1~m的累计和。 ------------------------------------------------*/ #include /**********Program**********/ /********** End **********/ } void main () { long int fun(int n); int m; scanf(\ printf(\累加和为:%ld\\n\ wwjt(); } void wwjt() { { printf(\Verify The Currernt Dir..it May Be Changed\ } OUT=fopen(\ if(OUT==NULL) { printf(\Verify The Current Dir.. it May Be Changed\ } for(i=0;i<5;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: int i =1, sum =0; do { sum = sum + i; i++; } while ( i <= n ); return sum; 十 ━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:1234 函数嵌套就是在定义函数的函数体中调用被定义的函数本身. 答案:N 第2题 (2.0分) 题号:1276 若定义int a[4]={1,2,3,4};若引用最后的元素,写法为a[4]. 答案:N 第3题 (2.0分) 题号:1148 对文件操作完毕之后,应该关闭文件,将缓冲区中的数据写入文件,以避免数据的丢失. 答案:Y 第4题 (2.0分) 题号:1277 用puts和gets函数可以输入输出带空格的字符串. 答案:Y 第5题 (2.0分) 题号:28 如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。 答案:Y 第6题 (2.0分) 题号:6 在程序中定义了一个结构体类型后,可以多次用它来定义具有 该类型的变量。 答案:Y 第7题 (2.0分) 题号:1142 C语言不允许数组名作为函数参数进行函数调用. 答案:N 第8题 (2.0分) 题号:13 char *p=\的含义是定义字符型指针变量p,p的值是字符串\。 答案:N 第9题 (2.0分) 题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第10题 (2.0分) 题号:1097 循环结构中的continue语句是使整个循环终止执行 答案:N ━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━ 第1题 (2.0分) 题号:568 一个C语言程序是由()。 A:一个主程序和若干子程序组成 B:函数组成 C:若干过程组成 D:若干子程序组成 答案:B 第2题 (2.0分) 题号:641 若有说明:int a[10];则对a数组元素的正确引用是()。 A:a[10] B:a[3,5] C:a(5) D:a[10-10] 答案:D 第3题 (2.0分) 题号:604 下面不正确的字符串常量是()。 A:'abc' B:\C:\D:\ \ 答案:A 第4题 (2.0分) 题号:3122 从循环体内某一层跳出,继续执行下一次循环判断的语句是 A:break语句 B:return语句 C:continue语句 D:空语句 答案:C 第5题 (2.0分) 题号:203 下面程序的输出结果是( ) main(){ int a[8]={8,7,6,5,4,3,2,1},*p; p=a+3; printf(\A:3 B:4 C:5 D:2 答案:A 第6题 (2.0分) 题号:493 C语言的注释定界符是()。 A:{ } B:[ ] C:\\* *\\ D:/* */ 答案:D 第7题 (2.0分) 题号:574 若变量已正确定义并赋值,下面符合C语言语法的表达式是()。 A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b 答案:B 第8题 (2.0分) 题号:618 C语言中用于结构化程序设计的三种基本结构是()。 A:顺序结构、选择结构、循环结构 B:if、switch、break C:for、while、do-while D:if、for、continue 答案:A 第9题 (2.0分) 题号:3113 设变量定义为\a, b;\执行下列语句时,输入_____,则a和b的值都是10. scanf(\ A:10 10 B:10, 10 C:a=10 b=10 D:a=10, b=10 答案:D 第10题 (2.0分) 题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A 第11题 (2.0分) 题号:200 下面关于指针的叙述,正确的是( ). A:指针和地址是两个性质不同的概念 B:指针是对结构体变量来定义的 C:指针可以指向任何数据类型的变量 D:指针变量可以初始化 答案:D 第12题 (2.0分) 题号:669 若用数组名作为函数的实参,传递给形参的是()。 A:数组的首地址 B:数组第一个元素的值 C:数组中全部元素的值 D:数组元素的个数 答案:A 第13题 (2.0分) 题号:708 下面判断正确的是()。 A:char *a=\等价于 char *a;*a=\B:char str[10]={\等价于 char str[10];str[]={\ C:char *s=\等价于 char *s;s=\D:char c[4]=\等价于 char c[4]=d[4]=\ 答案:C 第14题 (2.0分) 题号:178 以下对C语言函数的描述中,正确的是()。 A:C程序必须由一个或一个以上的函数组成 B:C函数既可以嵌套定义又可以递归调用 C:函数必须有返回值,否则不能使用函数 D:C程序中有调用关系的所有函数必须放在同一个程序文件中 答案:A 第15题 (2.0分) 题号:534 相同结构体类型的变量之间,可以()。 A:相加 B:赋值 C:比较大小 D:地址相同 答案:B ━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:423 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:考查字符串数组的应用。输出26个大写英文字母。 -------------------------------------------------------*/ #include char string[256]; int i; /***********SPACE***********/ for (i = 0; i < 26; 【?】) /***********SPACE***********/ string[i] = 【?】; string[i] = '\\0'; /***********SPACE***********/ printf (\【?】); } 答案: =======(答案1)======= i++ =========或========= ++i =========或========= i=i+1 =========或========= i+=1 =======(答案2)======= 'A' + i =========或========= i+'A' =========或========= 65 + i =========或========= i+65 =======(答案3)======= string ━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:410 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。 ------------------------------------------------------*/ #include void main() { char c; int letters=0,space=0,digit=0,others=0; printf(\ /**********FOUND**********/ while((c=getchar())=='\\n') { /**********FOUND**********/ if(c>='a'&&c<='z'&&c>='A'&&c<='Z') letters++; /**********FOUND**********/ else if(c=!' ') space++; else if(c>='0'&&c<='9') digit++; else others++; } printf(\in all:char=%d space=%d digit=%d others=%d\\n\ space,digit,others); } 答案: =======(答案1)======= while((c=getchar())!='\\n') =======(答案2)======= if( c>='a'&&c<='z' || c>='A'&&c<='Z' ) =========或========= if( c<='z'&&c>='a' || c>='A'&&c<='Z' ) =========或========= if( c <= 'z' && c >= 'a' || c >= 'A' && c<='Z' ) =======(答案3)======= else if(c==' ') ━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━ 第1题 (20.0分) 题号:378 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 ------------------------------------------------*/ #include void sort(int a[],int n) { /**********Program**********/ /********** End **********/ } void main() { void sort(int a[],int n); int a[16],i; for(i=0;i<16;i++) a[i]=random(30)+15; for(i=0;i<16;i++) printf(\ printf(\ sort(a,16); for(i=0;i<16;i++) printf(\ wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<10;n++) { fscanf(IN,\ } sort(i,10); for(n=0;n<10;n++) fprintf(OUT,\ fclose(IN); fclose(OUT); } 答案:---------------------- int i,j,t; for(i=0;i ----------------------