1下列不正确的C语言语句是( B).
A、x++;
B、y=int(x); C、x=1,y=2; D、x=y=5;
2关于%-m.nf格式符,下列描述中正确的是( A).
A、字符\表示输出字符靠左对齐.
B、字符\表示在输出字符前面加上字符\C、字符\表示输出字符靠右对齐.
D、字符\表示在输出字符最后加上字符\
3已知键入a=4,b=3,执行下面程序输出的结果是( B). main()
{ int a,b,s;
scanf(\ s=a;
if(a>b) s=b; s=s*s;
printf(\}
A、13 B、9 C、16 D、15
4C语言的if语句嵌套时,if与else的配对关系是(D)。
A、每个else总是与最外层的if配对 B、每个else总是与它上面的if配对 C、每个else与if的配对是任意的
D、每个else总是与它上面的最近的if配对
5下面程序的功能是计算1~100中所有9的倍数的数值之和,请在A处填写正确语句.(D )。
#include \void main()
{ int i,sum=0;
for (i=1; i<=100 ; i++) if (i%9!=0 ) ___ __ else sum=sum+i;
printf (\}
A、i--; B、break; C、goto;
D、continue;
6下列是能够完成求出两个正整数a,b最大公约数max的程序段.请在下划线处填写内容正确内容
(B )。
if(a>=b) t=b; else t=a;
for(i=1;i<=t;i++)
_______________ max=i;
printf(\
A、if(a%i==0||b%i==0) B、if(a%i==0&&b%i==0) C、if(a%i!=0&&b%i!=0) D、if(a%i!=0||b%i!=0)
7在C语言中,一维数组的定义方式为:类型说明符 数组名(B)。
A、[整型常量]或[整型表达式] B、[正整型常量表达式] C、[整型表达式] D、[常量表达式]
8如果在一个函数中的复合语句中定义了一个变量,以下正确的说法是( C).
A、该变量在本程序范围内均有效 B、该变量在主函数中有效
C、该变量只在该复合语句中有效 D、该变量在该函数中有效
9已知有宏定义#define SQR(a) 2*a*a,则SQR(3+4)的值为(A ).
A、22 B、32 C、98 D、18
10若有int i=3,*p;p=&i;下列语句中输出结果为3的是(A)。
A、printf(\B、printf(\C、printf(\D、printf(\
11一个C程序的执行是从本程序的main函数开始,到main函数结束T
12若 a=3,b=2,c=1 则关系表达式\的值为\真\。T
13已知a=4,b=2,c=3,d=5,表达式a>b?a:c 14已知a=4,b=2,c=3,d=5,表达式a>b?a:c 15for循环语句不能用于循环次数未知的情况下.F 16数组整体可以参加各种数学运算,数组元素也可以参加各种数学运算.F 17C语言中,通过函数调用只能获得一个返回值.F 18一个include 命令只能指定1个被包含的文件。T 19如果需要向函数内传递多个值,用数组和用指针效果是一样的.T 20结构体类型数据由多个成员构成,这些成员的类型可以不同,它们共同描述一个对象.T 21设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_2.5___. 22当a=1,b=2,c=3时,执行以下程序段后b=_2____. if (a>c) b=a; a=c; c=b; 23以下程序的输出结果为__10___, #include \void main() {int a;for(a=0;a<10;a++);printf(\ 24按内存排列顺序, 数组char a[2]中的所有元素是a[0]和_a[1]____. 25在C语言中,文件的存取是以_字符____为单位的,这种文件被称为__流式___文件. 26/*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:输入一个字符串,过滤此串,只保留串中的字母字 符,并统计新生成串中包含的字母个数。 例如:输入的字符串为ab234$df4,新生成的串为abdf 。 注意: 请在Begin 和 End 注释行之间填写代码, 所有注释语句都不能删除。 ------------------------------------------------*/ #include \#include \#define N 80 void main() { char str[N]; int fun(char ptr[ ]); void TestFunc(); int s; printf(\ printf(\ s=fun(str); printf(\ printf(\ TestFunc(); } int fun(char ptr[ ]) { /*********Begin**********/ /********** End **********/ } void TestFunc() { FILE *IN,*OUT; char sIN[N]; int iOUT; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } fscanf(IN,\ iOUT=fun(sIN); fprintf(OUT,\ fclose(IN); fclose(OUT); } 【参考代码】 int i,j; for(i=0,j=0; ptr[i]!='\\0';i++) if(ptr[i]<='z'&& ptr[i]>='a'|| ptr[i]<='Z' && ptr[i]>='A') { ptr[j]= ptr[i]; j++; } ptr[j]='\\0'; return(j); 27/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:求出两个非零正整数的最大公约数,并作为函数值返回。 例如:若给num1和num2分别输入49和21,则输出的最大公约数为7。 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include \int fun(int a,int b) { int r,t; if(a t=a; /**********ERROR**********/ b=a; /**********ERROR**********/ a=t; } r=a%b; while(r!=0) { a=b; b=r; /**********ERROR**********/ r=a/b; } /**********ERROR**********/ return a; } void main() { int num1,num2,a; scanf(\ a=fun(num1,num2); printf(\} 【参考答案】 a=b; 【参考答案】 b=t; 【参考答案】 r=a%b; 【参考答案】 return b; return (b); return(b); 28/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 以下程序可求出所有的水仙花数。(所谓水仙花数是指一个三位正整数, 其各位数字的立方之和等于该正整数。 例如;407=4×4×4+0×0×0+7×7×7,故407是一个水仙花数。) --------------------------------------------------------- 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得 出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! -------------------------------------------------------*/ #include { int x,y,z,a[8],m,i=0; printf(″The special numbers are:\\n″); /**********FILL**********/ for (m=100;_____; m++) { x=m/100; /**********FILL**********/ y=_____; z=m; if (x*100+y*10+z==x*x*x+y*y*y+z*z*z) /**********FILL**********/ {_____;i++;} } for (x=0;x 参考答案】 m<1000 m<=999 【参考答案】 (m-x*100) /10 m0/10 【参考答案】 a[i]=m