1.阅读下面的程序 #include void main() { int i,j; scanf("%3d%2d",&i,&j);printf("i=%d,j=%d ",i,j);} 如果从键盘上输入1234567<回车>,则程序的运行结果是( )。
A:i=123,j=4567 B:i=1,j=2 C:i=123,j=45 D:i=1234,j=567
答案:i=123,j=45
2.若想对文本文件进行只读操作,打开此文件的方式是( )。
A:"rb" B:"w" C:"r" D:"ab"
答案:r
3.以下能对一维数组a进行正确初始化的语句是( )。
A:int a[10]=(0,0,0) B:int a[]={0} C:int a[10]={10*1} D:int a[10]={0}
答案:int
4.已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是( )。if(a>b)c=a; a=b; b=c;
A:a=1, b=2, c=3 B:a=2, b=3, c=2 C:a=2, b=3, c=3 D:a=2, b=3, c=1
答案:a=2, b=3, c=3
5.在下列选项中,没有构成死循环的程序段是 ( )
A:int s=36;while (s) --s; B:int k=1000;do {++k;} while (k>=1000); C:int i=100;while (1){ i=i%100+1;if (i>100) break;} D:for( ; ; );
答案:int
6.以下程序段的输出结果是( )。int k,n,m;n=10;m=1;k=1;while (k<=n) {m*=2;k+=4;}printf("%d\n",m);
A:8 B:16 C:4 D:32
答案:8
7.在C语言中,引用数组元素时,其数组下标的数据类型是 ( )。
A:整型表达式 B:常量 C:任何类型的表达式 D:整型常量或常量
答案:整型常量
8.关于 open() 函数的文件名,以下选项中描述错误的是( )。
A:文件名对应的文件可以不存在,打开时不会报错 B:文件名不能是一个目录 C:文件名可以是绝对路径 D:文件名可以是相对路径
答案:文件名对应的文件可以不存在,打开时不会报错
9.变量的指针,其含义是指该变量的( )。
A:一个标志 B:名 C:值 D:地址
答案:地址
10.关于文件关闭的 .close() 方法,以下选项中描述正确的是( )。
A:文件处理遵循严格的 “打开 —操作 —关闭 ”模式 B:如果文件是只读方式打开,仅在这种情况下可以不用 .close() 方法关闭文件 C:文件处理后可以不用 .close() 方法关闭文件,程序退出时会默认关闭 D:文件处理结束之后,一定要用 .close() 方法关闭文件
答案:文件处理后可以不用 .close() 方法关闭文件,程序退出时会默认关闭
11.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是( )。
A:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 B:文件打开时,原有文件内容被删除,只可作写操作 C:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 D:ABC各种说法都不正确

12.在定义int a[5][6]后,数组a中第10个元素是( )。
A:a[1][5] B:a[2][4] C:a[2][5] D:a[1][3] 13.C语言中非空的基本数据类型包括( )。
A:整型,实型,逻辑型 B:整型,字符型,逻辑型 C:整型,实型,字符型 D:整型,实型,逻辑型,字符型 14. 为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( )配对。
A:其之前最近的且还没有配对的if B:同一行上的if C:之后最近的if D:缩排位置相同的if 15. 程序段的功能是将变量 u 、s中的最大值赋给变量t ( )。
A:if(u>s) t=s;else t=u; B:t=s; if(u ) t=u; C:if(u>s) t=u;t=s; D:t=u; if(t ) t=s; 16.下列程序段的输出结果是( )
int x=0;
while(++x<3)
printf("%4d",x);
A:4 B:0 1 2 C:1 2 D:3 17.组a和b进行如下初始化:
char a[] = “ABCDEF”;
char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};
则以下叙述正确的是( )
A:a与b完全相同 B:a与b中都存放字符串 C:a与b长度相同 D:a数组比b数组长度长 18.循环结束后,count 的值是( )
count=1;
while(count<=145)
{
a=a+7;
count++;
}
A:146 B:1 C:145 D:144 19.有如下函数原型和变量定义:
void fix(int, float &);
int someInt;
float someFloat;
下列最适合的函数调用是( )。
A:fix(somInt, someFloat); B:fix(24,6.85); C:sumeFloat=0.3*fix(someInt,6.85); 20.已知有定义,FILE *fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb");将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是( )。
A:fwrite(str[0], sizeof(char), 1, fp); B:fread(str, sizeof(char), 5, fp); C:fwrite(fp, sizeof(char), 5, str); D:fwrite(str, sizeof(char), 5, fp); 21.当下面什么情况下,文件打开方式“w+”和“a+"有同样的效果。( )。
A:要打开的文件存在且为空 B:打开文件既写又读 C:要打开的文件存在且不为空 D:打开文件只写不读 22.以下对a的正确说明是( )。
A:int n=10,a[n]; B:#define SIZE 10 int a[SIZE]; C:int n; scanf("%d",&n); int a[n]; D:int a(10);
23.使用哪一种模式说明符,当文件已经存在时会擦除文件已有内容,当文件不存在时则会新建一个文件?( )。
A:w B:a C:e D:r 24.执行以下语句后,y 的值为( )。
int x,y,z;
x=y=z=0;
++x || ++y && ++z;
A:1 B:2 C:0 D:不确定值 25.以下程序的输出结果为( )。
main( )
{
int i=10,j=10;
printf("%d,%d\n",i++,j--);
}
A:9,9 B:11,9 C:8,10 D:10,10 26.下列不属于C语言基本数据类型的是 ____ 。( )。
A:指针型 B:整型 C:无符号整型 D:实型 27.如果系统中存在/home/user1/foo文件,则使用系统调用open打开这个文件,内存中有与此路径相关的目录项对象有几个?( )。
A:5 B:3 C:4 D:6 28.根据如下函数fun,调用fun(fun(3))的返回值是( )。
int fun(int x)
{ int k=1;
x+=k--;
return x;
}
A:6 B:5 C:4 D:3 29.下列运算符中优先级最高的是( )。
A:!= B:+ C:&& D:< 30.下列关于File类的叙述中,错误的是( )。
A:File类能操作文件或目录的属性 B:File类是java.io包中的一个类 C:File类描述的是文件或目录 D:File类能直接读写文件内容 31.当执行以下程序段时,循环执行几次( )
x=-1;
do { x=x*x;} while( !x);
A:执行0次 B:执行2次 C:执行1次 D:执行无数次 32.已知如下定义,能输出'L'的语句是( )
struct person
{ char name[9];
int age;
};
struct person class[10]={ "Wang" , 17, "Zhang" ,19, "M i n g" , 18, "L i u" , 20 };
A:printf("%c ",class[ 3 ].name[ 0] ); B:printf("%c ",class[ 3 ].name[ 1] ); C:printf("%c ",class[ 4 ].name[ 1] ); D:printf("%c ",class[ 4 ].name ); 33.符型数据不可以和整数数据一起进行算术运算。( )
A:对 B:错 34.利用break语句可以提前终止循环的执行。( )
A:错 B:对 35.C语言中/*..*/之间的注释内容是不能跨行的。( )
A:对 B:错 36.属于同类型的指针变量可以相互赋值。( )
A:正确 B:错误 37.C语言程序是从源文件的第一条语句开始执行的。( )
A:对 B:错 38.设x、t均为int型变量,则执行语句"x = 10;t = x && x > 10;"后,t的值为0 。( )
A:错 B:对 39.*m中的“*”是指针运算符,或称为“直接访问”运算符。( )
A:对 B:错 40.执行for(I=0;I<3;I++);后I的值为2。( )
A:正确 B:错误 41.引用数组元素时,其数组下标的数据类型允许的是:整型常量或整型表达式。( )
A:正确 B:错误 42.每当定义一个变量时,编译器就根据该变量的数据类型分配相应长度的存储空间,这个存储空间的全部地址就是变量的地址,也就是指针。( )
A:错误 B:正确 43.设有以下语句,叙述不正确的是( )typedef struct{ int n :Char ch[8]:}PER;
A:PER是结构体的变量名 B:typedef struct是结构体类型 C:struct是结构体类型名 D:PER是结构体的类型名 44.printf函数中,关于格式字符描述正确的是:( )
A:格式字符o表示以八进制形式输出整数 B:格式字符e 表示以浮点数形式输出单、双精度数 C:格式字符x 表示以无符号十六进制形式输出整数 D:格式字符u 表示以无符号十进制形式输出整数 E:格式字符f 表示以实数形式输出单、双精度数 45.以下选项中,可以看作一条语句的是( )
A:if(b==0) m=1;n=2; B:a=0,b=0,c=0; C:{;} D:if(a>0); 46.以下关于数组描述错误的是( )
A:数组的大小是固定的,但可以有不同的类型的数组元素 B:数组的大小是可变的,可以有不同的类型的数组元素 C:数组的大小是可变的,但所有数组元素的类型必须相同 D:数组的大小是固定的,所有数组元素的类型必须相同 47.若有说明:int a=2,*p=&a,*q=p;,则以下赋值语句正确的是( )
A:*p=*q; B:a=*q; C:q=a; D:.p=q; 48.以下4条语句,没有语法错误的是( )
A:if (a>b) m =a; B:if ((a=b;)>=0) m=a; C:if (a); D:if ((a=b)>=0) m=a; 49.若有定义int n=2,*p=&n,*q=p;则以下合法的赋值语句是( )
A:p=q; B:p=n; C:n=*q; D:*p=*q; 50.若a为整型变量,则下列表达式的值为0的是( )
A:3/4 B:a != a C:3 && 0 D:a = 0 E:a % a 51.有程序段struct date {int x,y;}test={10,20},test2;则以下赋值语句中正确的是( )
A:test2={30,40}; B:test2=test1; C:test2,x=test1,y; D:test2,x=test1,x; 52.如果不加花括号表示else与if的配对关系,则else与if的匹配方法,不正确的是( )
A:else与离它最近的if配对 B:else与它上面最近的且没有和其他else配对的if配对 C:else与它上面最远的if配对 D:else与它上面最近的if配对 53.以下定义语句中,正确的是( )
A:int a[]={1,2}; B:int n=5,a[n]; C:char s[10]={"test"}; D:char a[]={"test"}; 54.C 语言中规定函数的返回值的类型是由 return 语句中的表达式类型所决定( )。
A:错 B:对 55.在数据文件打开方式字符串中,字符加号(+)具有确定的含义,代表既允许读也允许写的打开方式。( )
A:错 B:对 56.表达式 a=a+b 可以写成 a+=b( )。
A:错 B:对 57.对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为0。( )
A:对 B:错 58.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是 3( )。
A:对 B:错 59.一个指针指向一个数据对象时,指针值是这个对象的首字节地址。( )
A:错 B:对 60.假定p所指对象的值为25,p+1所指对象的值为42,则表达式*++p的值为42。( )
A:对 B:错 61.假定一个数据对象为x,则x的地址表示为*x。( )
A:对 B:错 62.已知:int **p;,则变量 p 是指向指针的指针。( )
A:对 B:错 63.对于二维数组 a[2][3],则 a[2]表示是第二行的首地址。 ( )
A:对 B:错 64.x 的绝对值大于 5 的条件表达式是 x-5( )。
A:错 B:对 65.在if语句中,必须带有else子句,不能省略它。( )
A:对 B:错 66.在函数定义中,存在着调用自身函数的函数调用表达式,则称此函数为递归函数。( )
A:错 B:对 67.在定义结构体变量时可以嵌套定义的。( )
A:错 B:对 68.在C语言中,打开一个数据文件的系统函数为fopen(),它带有一个字符串参数,用来给定待操作的文件名。( )
A:错 B:对 69. 在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针,它仅带有一个文件流参数。( )
A:错 B:对 70.在C语言中,在定义一个字符数组时,不能利用一个字符串进行初始化。( )
A:对 B:错 71.do-while循环语句是以循环体结尾的。( )
A:错 B:对 72.在 C 语言中,变量不区分大小写( )。
A:错 B:对 73.int i=1; while(i<5) { if(i>1) continue; if(i==3) break; i++; }上述程序中while 循环的执行次数是( )。
A:1次 B:4次 C:0次 D:无数次 74.void fun(int *x,int i){*x=*(x+i);}int main(){int a[8]={1,2,3,4,5,6,7,8},i;fun(a,5);for(i=0;i<8;i++) printf("%d",a[i]); return 0;}上列程序的运行结果是( )。
A:72345678 B:34567892 C:12345678 D:62345678 75.C语言中,函数的数据类型是指( )。‍
A:函数返回值的数据类型 B:调用该函数时的实参的数据类型 C:函数形参的数据类型 D:任意指定的数据类型 76.有以下程序:‍‌#include<stdio.h>int main()‍‌{‍‌ int i,j,s=0; int a[3][3]={1,2,3,0,2,4,3,6,9}; for(j=0;j<3;j++) { i=j; if(i>1) i=2-j; s+=a[i][j]; } printf("%d\n",s);‍}以下程序执行后的输出结果是( )。
A:21 B:9 C:12 D:‍6 77.若有定义:double a[3][5];则a数组中行、列下标的下限分别为( )。
A:3 5 B:3 3 C:5 5 D:2 4 78.以下叙述正确的是( )。
A:do-while语句构成的循环不能用其它语句构成的循环来代替 B:用do-while语句构成的循环,在while后的表达式为零时结束循环。 C:用do-while语句构成的循环,在while后的表达式为非零时结束循环 D:do-while语句构成的循环只能用break语句退出 79.关于实参与形参,以下说法正确的是( )。
A:形参是虚拟的,不占用存储单元 B:实参和与其对应的形参共享一个存储单元 C:‏实参和与其对应的形参各占用独立的存储单元 D:只有当形参和与其对用的实参同名时才共享存储单元 80.有以下程序 #include <stdio.h> main() {int x; scanf(“%d”,&x); if(x<=3);else if(x!=10) printf(“%d\n”,x);}程序运行时, 输入的值在哪个范围才会有输出结果( )。
A:大于3或等于10的整数 B:不等于10的整数 C:大于3且不等于10的整数 D:小于3的整数 81.有以下程序:int fun(int a[][3]){ int i,j,sum=0; for (i=0;i<2;i++) for(j=0;j<3;j++) sum=sum+a[i][j]; return(sum);} int main(){ int a[2][3]={1,2,3,4,5,6},s; s=fun(a); printf("s=%d\n",s); return 0;}下列程序的运行结果是:( )
A:0 B:21 C:s=21 D:s=0 82.有以下程序 #include<stdio.h> int main(){int y=5; while(y--);printf(”y=%d\n”,y);return 0; } 程序执行后的输出结果是( )
A:y=1 B:while构成无限循环 C:y=0 D:y= -1 83.以下选项中,能用作数据常量的是( )。
A:0118 B:o115 C:1.5e1.5 D:115L 84.有以下程序:void fun(int n){ if(n/2>0) fun(n/2); printf("%d",n);} int main(){ fun(6); printf("\n"); return 0;} 程序的运行结果是:( )
A:631 B:61 C:136 D:16 85.设有数组定义: char array[ ]="China"; 则数组array所占的空间为( )
A:7个字节 B:5个字节 C:不确定的值 D:4个字节 86.C语言对嵌套if语句的规定时:else语句总是与( )配对。
A:缩进位置相同的if B:第一个if C:其之前最近的且尚未配对的 D:其之前最近的if 87.int p[7]={1,2,3,4,5,6,7},i=0,k=0;while(i<3&&*(p+i)%2) {k=k+*(p+i); i++;}printf("%d\n",k);有以上程序段定义,则运行后的结果是( )
A:3 B:0 C:1 D:2 88.int main(){int a=1,b=2; for(;a<6;a++) {b+=a; a+=2;}printf("%d,%d\n",a,b);return 0;}程序运行后的输出结果是( )
A:10,14 B:9,18 C:8,11 D:7,7 89.已知int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x,y,z的值是( )。
A:x=20, y=30, z=30 B:x=20, y=30, z=20 C:x=10, y=20, z=30 D:x=20, y=30, z=10 90.有以下程序,#include <stdio.h> ____________________int main( ){ double x,y,z;scanf("%lf%lf",&x,&y);z=mul(x,y);printf("%f\n",z);return 0;}double mul(double a,double b){ return (a*b); } 请在______处填写( )语句,使程序可正常编译运行。( )
A:doule mul(double a,double b); B:doule mul(double a,double b) C:mul(double a,double b) D:doule mul(a, b); 91.有以下程序:#include<stdio.h>int sub(int a,int b) { int c; c=a-b; return c; }void print(int z) { printf("z=%d\n",z); }int main(){ int x,y,z; x=10; y=5; z=sub(x,y); print(z); return 0;} 程序的运行结果是:( )
A:5 B:z=5 C:0 D:z=0 92.void fun(char *a, char *b){ *a=*a+32; *b=*b-32;}int main(){ char c1='A',c2='a',*p1,*p2; p1= p2= fun(p1,p2); printf("%c%c\n",c1,c2); return 0;}以上程序的运行结果是( )。
A:AA B:aA C:aa D:Aa 93.int i=0,a=0; while(i<10) { for(;;) { if(i%2==0) break; else i--; } i+=2; a+=i; } printf("%d",a);以上程序的运行结果是( )。
A:30 B:28 C:32 D:26 94.int a[10]={0,1,2,3,8,5,6,4,7,9},*p=a+3;printf("%d",*p+5);以上程序已定义,则运行结果是( )。
A:8 B:6 C:9 D:7 95.若有以下数组说明,int a[10]={1,5,4,10,2,7,8,11,3,6}, int i=5;则a[a[i]]元素数值是( )。
A:5 B:7 C:11 D:2 96.以下关于C语言的叙述中正确的是( )。
A:C语言的数值常量中夹带空格不影响常量值的正确表示 B:C语言中的变量可以在使用之前的任何位置进行定义 C:在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D:C语言中的注释不可以夹在变量名或关键字的中间 97.C程序中函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是( )
A:函数返回值 B:参数的形实结合 C:同名的局部变量 D:全局变量 98.若有说明:int i, j=2,*p=,则能完成i=j赋值功能的语句是( )
A:*p=j; B:p=*j; C:p=&j D:p= 99.若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是( )。
A:程序段有语法错 B:3,5,5 C:3,5,7 D:3,5,3 100.执行语句x = ( a = 3, b= a - -)后 ,x , a , b 的值依次为( )。
A:3 ,2, 3 B:2 ,3 ,2 C:3 ,2 ,2 D:3 ,3 ,2 101.以下结构体类型说明和变量定义中正确的是( )。
A:typedef struct B:typedef struct REC ; C:struct {int n=0; char c=’A’;}t1,t2; {int n;char c;}REC t1,t2; D:struct REC; {int n; char c;}REC; {int n; char c;}; REC t1,t2; REC t1,t2; 102.main(){ int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) { a+=5; continue;} a-=3; } printf("%d\n",b);}程序运行后的输出结果是( )。
A:5 B:4 C:6 D:3 103.以下是if语句的基本形式:if(表达式)语句其中“表达式”( )。
A:可以是任意合法的表达式 B:必须是逻辑表达式或关系表达式 C:必须是关系表达式 D:必须是逻辑表达式 104.‍假设a、c均为字符数组,则以下正确的输入语句是( )。‍
A:gets(a,c); B:scanf("%s %s",a,c); C:gets("a"); gets("c"); D:scanf("%s %s",&a,&c); 105.#include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(“a=%d,b=%d\n”,a,b); } 程序的运行结果是( )。
A:a=1,b=1 B:a=2,b=2 C:a=2,b=1 D:a=1,b=0 106.有以下程序main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是( )。
A:2 3 3 B:1 2 3 C:2 2 3 D:2 3 4 107.有以下程序main(){int i,j,x=0;for(i=0;i<2;i++){x++for(j=0;j<=3;j++){if(j%2)continue;x++}x++}printf(x=%d\n,x);} 程序执行后的输出结果是( )。
A:x=4 B:x=8 C:x=12 D:x=6 108.能表示x为偶数的表达式是( ) 。
A:x%2 B:x%2!=0 C:x%2==0 D:x%2==1 109.有以下程序:#include <stdio.h>int x=10,y=5;void fun(int y){ x--; y--;}int main(){ int x=20; fun(x); printf("%d",x-y);}程序的运行结果是:( )
A:20 B:15 C:10 D:5 110.以下fun函数的功能是:找出具有N个元素的一维数组中的最大值,并作为函数值返回。int fun(int a[N]){int i,k=0;for(i=0;i<N;i++)if(a[i]>a[k]) k=i ; return ___________;}空白处,应填入( )。
A:a[N] B:a[k] C:a[0] D:a[i] 111.阅读以下程序:‏#include <stdio.h>‏‏int main( )‏‏{ ‏ char str[][20]={"china","beijing","shanghai"}; int i ; for(i=0;i<3;i++) { printf("%s-", (str[i]+i)); }return 0;‏}程序的输出结果为( )。‏
A:china-eijing-anghai B:china-beijing-shanghai C:china-eijing-hanghai- D:china-eijing-anghai- 112.C语言提供了两种选择语句,分别是if语句和switch语句。( )
A:错 B:对 113.注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。( )
A:错 B:对 114.在printf()函数调用的格式字符串中,若使用格式符为“%6.3f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为3。( )
A:错 B:对 115.在switch语句中,每个保留字case后面的表达式必须是常量或常量表达式。( )
A:正确 B:错误 116.假定p所指对象的值为25,p-1所指对象的值为42,则执行*p--运算后,p所指对象的值为42。( )
A:错 B:对 117.在递归函数的每次递归调用中,对于参数表中的每个形参,得到的值都相同。( )
A:错 B:对 118.在数据文件打开方式字符串中,字符加号(+)具有确定的含义,代表既允许读也允许写的打开方式。( )
A:对 B:错 119.在if语句中,必须带有else子句,不能省略它。( )
A:对 B:错 120.直接跟在if 或else语句后的语句只能有一句。( )
A:正确 B:错误 121.用户自己建立由一组相同类型或不同类型数据构成的数据集合称为结构体。( )
A:错 B:对 122.C语言系统中提供一个用来描述文件属性的类型标识符为FILE。( )
A:对 B:错 123.continue语句用于终止提前本次循环。( )
A:正确 B:错误 124.循环内还包含另一个完整循环结构,称为循环的嵌套结构。( )
A:错 B:对 125.若对一个文本文件以"r"方式打开时,则称该文本文件为输出文件。( )
A:对 B:错 126.while型循环结构的特点是:当给定条件成立时,执行某操作,执行完后再判断条件是否 成立,如此反复,直到条件不成立为止。( )
A:错 B:对 127.C语言系统中提供一个用来描述文件属性的类型标识符为FILE,它与系统头文件stdio.h无关。( )
A:对 B:错 128.定义一维数组的一般形式为: 类型符 数组名[常量表达式]。( )
A:错误 B:正确 129.从文本文件中输入数据时,需要调用系统函数fputs()或fgets()。( )
A:错 B:对 130.与x * = y + z等价的赋值表达式是:( )
A:x = x * (y + z) B:x = x * y + z C:x = x + y * z D:x = y + z 131.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为:( )
A:i=100,f=765.12<回车> B:100<空格>765.12<回车> C:x=100<回车>,y=765.12<回车> D:100<回车>765.12<回车> 132.若有以下定义和语句:( )int a=5,bb=a++;此处b的值是:( )
A:7 B:6 C:4 D:5 133.若变量c为char类型,能正确判断出c为小写字母的表达式是:( )
A:('a'<=C)and ('z'>=C) B:(c>= 'a')||(c<= 'z') C:(c>= 'a')&&(c<= 'z') D:'a'<=c<= 'z' 134.以下程序的输出结果是:( )main(){ int a=4,b=5,c=0,d;d=!a && !b || !c;printf("%d\n",d);}
A:-1 B:1 C:0 D:非0的数 135.有以下程序main(){ int i=1, j=1, k=2;if ( (j++ || k++) && i++)printf("%d,%d,%d\n", i, j, k);}执行后输出结果是:( )
A:2,2,2 B:2,2,1 C:1,1,2 D:2,2,3 136.已知字符A的ASCII码为十进制的65,下面程序的输出是:( )main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}
A:不确定的值 B:67,D C:C,D D:B,C 137.下列四个叙述中,正确的是:( )
A:C语言中的所有关键字必须小写 B:C程序中的所有字母都必须小写 C:C程序中的所有字母都不区分大小写 D:C程序中的关键字必须小写,其他标示符不区分大小写 138.下列只有当整数x为偶数时,其值为“假”的表达式是:
A:!(x%2) B:x%2==0 C:!(x%2==0) D:(x-x/2*2)==0 139.有以下程序main(){ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i<4;i++) s+=aa[i][1];printf("%d\n",s);}程序运行后的输出结果是:( )
A:19 B:11 C:13 D:20 140.下列属于C语言合法的字符常数是:( )
A:‘\t’ B:“\0” C:‘\97’ D:“A” 141.以下程序的输出结果是:( )main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}
A:3 B:不确定 C:1 D:0 142.程序运行结果是( )#includestruct ord{int x,y;}dt[2]={1,2,3,4,};main( ){ int m;m=dt[0]. x * dt[1]. x%dt[0].y;printf(“%d”,m);}
A:3 B:1 C:2 D:4 143.下述哪一个不是结构化程序基本结构:( )
A:嵌套 B:循环 C:顺序 D:选择 144.执行下面程序段后,c3中的值是:( )int c1=1 , c2=2 , c3;c3=c1/c2;
A:1/2 B:0.5 C:0 D:1 145.若有以下定义语句char c1=‘b’,c2=‘e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )
A:2,E B:3,E C:2,M D:输出项与相应的格式控制不一致,输出结果不确定 146.以下程序段的输出是:( )int i,j,m=0;for (i=1;i<=15;i+=4)for (j=3;j<=19;j+=4)m++;printf(“%d\n”,m);
A:15 B:12 C:20 D:25 147.有以下程序main( ){ int i;for ( i=0; i<3; i++ )switch ( i ){ case 1 : printf("%d ", i);case 2 : printf("%d ", i);default : printf("%d ", i);}}执行后输出结果是:( )
A:120 B:012 C:012020 D:011122 148.C语言中允许的基本数据类型包括:( )
A:整型、实型、字符型 B:整型、实型、逻辑型、字符型 C:整型、字符型、逻辑型 D:整型、实型、逻辑型 149.利用fseek函数可实现的操作( )。
A:fseek(文件类型指针,起始点,位移量); B:fseek(fp,位移量,起始点); C:fseek(起始点,位移量,文件类型指针); D:fseek(位移量,起始点,fp); 150.C语言经过链接后生成的文件的后缀是( )。
A:.cpp B:.exe C:.obj D:.c 151.设ch是char型变量,其值为‘A’,则下面表达式的值是( )。ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch
A:‘z’ B:‘A’ C:‘Z’ D:‘a’ 152.char a[3][10]={"BeiJing","ShangHai","TianJin"}, *pa=a;不能正确显示字符串"ShangHai"的语句是( )。 
A:printf("%s",*(a+1)); B:printf("%s",&a[1][0]); C:printf("%s",a+1); D:printf("%s",*a+1); 153.C语言经过编译后生成的文件的后缀是( )。
A:.cpp B:.exe C:.c D:.obj 154.有以下程序main() { int k=5,n=0; while(k>0){ switch(k){ default : break; case 1: n+=k; case 2: case 3: n+=k; }k- -; } printf("%d\n",n); }程序运行后的输出结果是( )。
A:4 B:0 C:6 D:7 155.已知int a[3][4];则对数组元素引用正确的是(  )。
A:a[2][4] B:a(2)(1) C:a[1,3] D:a[2][0]  156.若已定义char s[10];则在下面表达式中不表示s[1]的地址是( )。
A:&s[1] B:&s[0]+1  C:s++  D:s+1 157.以下程序的输出结果是( A)。#includesubl(char a,char b) {char c;c=a;a=b;b=c;}sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}main() { char a, b;a=‘A’; b=‘B’;sub3(&a,&b); putchar(a); putchar( );a=‘A’;b=‘B’ ;sub2(&a,b);putchar(a); putcha( );a=‘A’; b=‘B’; sub1(a,b); putchar(a);putchar( ); }
A:ABBBBA B:BABBAB C:BABABA D:BAABBA 158.以下程序的输出结果是( )。#include main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1);printf("%d,%d\n",a,b); }
A:6,1 B:2,1 C:2,0 D:6,0 159.C语言中的语句需要( )符号作为结尾。
A:: B:; C:。 D:// 160.以下程序段的输出结果是( )。int y=7;printf("%d,%d,%d\n",++y,--y,y++);
A:7,8,8 B:8,7,7 C:7,8,7 D:8,7,8 161.C语言编译程序的首要工作是( )。
A:检查C语言程序的逻辑错误 B:同时检查语法和逻辑错误 C:检查C语言程序的语法错误 D:检查程序的完整性 162.设x为整型变量,不能正确表达数学关系 1<x<5 的C++逻辑表达式是( )。
A:1< x <5 B:! (x<=1)&&! (x>=5) C:x==2||x==3||x==4 D:1内容已经隐藏,点击付费后查看
163.有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入�1A�1<回车>则输出结果是( )。
A:10,a,10 B:10,A,0 C:10,A,10 D:10,a,0 164.关于数组和指针,以下说法错误的是( )。
A:指针可以指向同类型的数组中的任意一个元素 B:可以将指针指向一个同类型的数组   C:数组名本身就是一个指针,指向数组内存的起始地址 D:既可以读入数据到数组中,也可以读入数据到未赋初值的指针中    165.以下关于简单程序设计的步骤和顺序的说法中正确的是( )。
A:先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 B:先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档 C:确定算法后,整理并写出文档,最后进行编码和上机调试 D:首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档 166.若有以下定义,则值为3的表达式是( )。int a[]= {1,2,3,4,5,6,7,8,9,10},*p=a;
A:p+=3,*p++ B:p+=2,* ++p C:p+=2,++ *p D:p+=2,*(p++) 167.下面程序的输出结果是( )。#includemain( ){ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(“%d”,*p+9);}
A:0 B:9 C:10 D:1 168.以下程序的结果是( )。#includemain(){int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d”,n);}
A:10 B:4 C:6 D:8 169.变量的指针,其含义是指该变量的( )。
A:地址 B:名 C:一个标志 D:值 170.有以下程序段 int k=0; while (k=1) k++; while循环执行的次数是( )。
A:执行一次 B:一次也不执行 C:有语法错,不能执行 D:无限次 171.已定义结构体struct  { int num;  char name[10]; }x[3]={1,"china",2,"USA",3,"England"};  则语句printf("\n%d,%s",x[1].num,x[2].name)的输出结果为( )。
A:3,England   B:2,USA  C:1,china   D:2,England  172.假定w、x、y、z、m均为int型变量,有如下程序段w=�1;x=;y=3;z=4; m=(wA:4 B:1 C:3 D:2 173.运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是( )。#include void main( ) { int a,b,s; scanf("%d,%d",&a,&b); s=a;if (sA:18 B:20 C:14 D:16 174.以下程序的输出结果是( )。int f(){ static int i=0; int s=1;s+=i; i++; return s; }main(){ int i,a=0;for(i=0;i<5;i++)a+=f(); printf("%d\n",a);}
A:15 B:24 C:25 D:20 175.以下程序的输出结果是( )。main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }
A:17,17,17 B:17,0x11,021 C:17,21,11 D:17,021,0x11 176.正确的自定义标识符是( )。
A:a=2 B:name C:default D:a+b 177.执行语句{for(j=0;j<=3;j++) a=1;}后变量j的值是( )。
A:0 B:4 C:3 D:1 178.若有定义“int a=1,b=2,c=3,d=4,m=2,n=2;”,则执行“(m=a>b)&&(n=c>d)”后n的值是( )。
A:3 B:0 C:4 D:2 179.在C语言中合法的长整型常数是( )。
A:0L B:216D C:324562& D:4962710 180.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: (  )。 
A:2 B:无确定值 C:4 D:3 181.在C语言的循环语句for、while、do-while,用于结束本次循环,继续执行下一次循环的语句是( )。
A:break B:continue C:switch D:goto 182.以下程序段形成死循环的是( )。
A:int i=3; for(; i; i-- ) B:int x; for( x=0; x<3; ) { x++; }; C:int k = 0; do { ++k; } while( k>=0 ); D:int a=5; while( a ) { a--; }; 183.以下程序的运行结果是( )。#includemain(){  int a=1,b=3,c=5;      int *p1=&a,*p2=&b,*p=&c;      *p=*p1*(*p2);      printf("%d\n",c);}
A:4 B:2 C:3 D:1 184.求字符串“ab\x41\\34cd\102y”的长度是( )。
A:12 B:14 C:10 D:18 185.以下程序的输出结果是(  )。  union myun { struct { int x, y, z; } u; int k; } a; main( ){  a.u.x=4;  a.u.y=5;  a.u.z=6;  a.k=0;  printf(" %d\n",a.u.x);  }
A:0 B:5 C:4 D:6 186.假定a和b为int型变量,则执行以下语句后b的值为( )。a=1; b=10; do {b-=a; a++; }while(b--<0);
A:9 B:-2 C:8 D:-1 187.已知如下定义的函数: fun1(a) { printf("\n%d",a); } 则该函数的数据类型是( )。
A:与参数a的类型相同 B:void型 C:没有返回值 D:无法确定 188.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为( )。for(i=0,j=10;i<=j;i++,j--) k=i+j;
A:12 B:10 C:11 D:9 189.有如下程序main() { int a; char c=10; float f=100.0; double x;a=f/=c*=(x=6.5); printf("%d %d %3.1f%3.1f\n",a,c,f,x); }程序运行后输出结果是( )。
A:1 65 1.5 6.5 B:1 65 1.0 6.5 C:2 65 1.5 6.5 D:1 65 1 6.5 190.假定所有变量均已正确说明,下列程序段运行后x的值是(B )。 a=b=c=0;x=35; if(!a) x--; else if(b) ; if( ) x=3; else x=4;
A:35 B:4 C:34 D:3 191.以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A:只能是整数0或非0整数 B:可以是结构体类型的数据 C:只能是整数0或1 D:可以是任意合法的表达式 192.对于下列程序段,当输入“welcome”时,程序的输出结果是( )。char m[20];    char n[30]=”You are”;    gets(m);    strcat(n,m);    puts(n);
A:You are welcome B:welcone are You C:welcone You are D:You arewelcome 193.语句while (!e);中的条件!e等价于( )。
A:~e B:e!=0 C:e!=1 D:e==0 194.以下关于函数的叙述中不正确的是( )。
A:在C语言程序中,函数的调用可以嵌套 B:在C语言程序中,被调用的函数必须在main函数中定义 C:C程序是函数的集合,包括标准库函数和用户自定义函数 D:在C语言程序中,函数的定义不能嵌套 195.若执行fopen函数时发生错误,则函数的返回值是( )。
A:-1(EOF) B:地址值 C:0(NULL) D:1 196.下列不属于循环语句的是 。( )
A:do… while语句 B:for语句 C:if语句 D:while语句 197.下列能正确表示a≥10或a≤0的C语言关系表达式是( )。
A:a >= 10 | a <= 0 B:a >= 10 || a <= 0 C:a >= 10 && a <= 0 D:a >= 10 or a <= 0 198.以下要作为fopen函数中第一个参数的正确格式是( )。
A:"c:\\user\\text.txt" B:"c:\user\text.txt" C:"c:user\text.txt" D:"\user\text.txt" 199.执行以下程序,#include int main(){ int a=1,b=0;switch (a){ case 1:switch (b){ case 0: printf("**0**");break;case 1: printf("**1**");break;}case 2: printf("**2**");break;}return 0;}输出结果为( )。
A:**0** B:有语法错误 C:**0****1****2** D:**0****2** 200.for(i=10; i>=0;i--)循环执行的次数为___。( )
A:9 B:11 C:其他都不对 D:10 201.函数调用在程序中出现的位置一般有3种方式,下面叙述中错误的是( )。
A:函数调用可以作为一个函数的实参 B:函数调用可以作为一个函数的形参 C:函数调用可以作为独立的语句存在 D:函数调用可以出现在表达式中 202.循环语句for语句中表达式2表示:( )。
A:变量自增 B:变量赋初值 C:条件循环表达式 203.在C语言中,函数调用语句function((a, b, c), (d, e));中参数的个数是( )。
A:5 B:2 C:1 D:4 204.if语句中的“表达式”可以是( )。
A:其他都是 B:逻辑表达式。 C:关系表达式。 D:数值表达式。 205.在C程序说明语句int (*pointer)[5]; 中,pointer表示的是一个( )。
A:指向整型变量的指针 B:指向函数的指针 C:指针数组的名字,包含5个指向整型数据的指针 D:指向包含5个整型元素的一维数组的指针 206.在C语言中,对变量的访问方式是( )。
A:能直接访问,能间接访问 B:不能直接访问,能间接访问 C:不能直接访问,不能间接访问 D:能直接访问,不能间接访问 207.在C语言中,标准库函数fread(buf, size, count, fp)中参数buf的含义是( )。
A:一个指针,指向要读入数据的存放地址 B:一个文件指针,指向要读的文件 C:一个整型变量,代表要读入的数据总数 D:一个存储区,存放要读的数据项 208.在C语言中规定,函数返回值的类型由( )。
A:调用该函数的主调函数决定 B:return语句中的表达式类型决定 C:定义该函数时所指定的函数类型决定 D:调用该函数时系统临时决定 209.#include int main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=aA:1,0 B:0,0 C:0,1 D:1,1 210.结构化程序设计的三种基本结构是顺序结构、选择结构和__________( )。
A:分支结构 B:循环结构 C:函数调用 211.若用fopen函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是( )。
A:"ab+" B:"wb+" C:"rb+" D:"ab" 212.下列只有当整数x为奇数时,才是逻辑“真”的表达式是( )。
A:x % 2 == 0 B:!(x % 2 == 0) C:!(x % 2 ) D:(x - x / 2 * 2) == 0 213.enum weekdays{Sun=7, Mon=1 ,Tue, Wed, Thu, Fri, Sat};以上枚举类型的定义中,sat的值为( )。
A:6 B:4; C:5; D:2; 214.使几个不同的变量占用同一段内存空间的结构称( )。
A:结构体 B:枚举类型 C:数组 D:共用体 215.在C语言的函数调用中,如果数组名作为函数的实参,则传递给形参的是( )。
A:数组全部元素的值 B:数组第一个元素的值 C:数组全部元素的个数 D:数组的首地址 216.执行以下程序int x;scanf("%d", &x);if (x > 10){printf("%d", x);}if (x > 20){printf("%d", x);}if (x > 30){printf("%d", x);}如果从键盘输入数据23,上面程序代码段输出的结果( )。
A:都不正确 B:2323 C:232323 D:23 217.若有a=1, 则for(; a>=1;a++)的循环次数是( )。
A:0 B:2 C:1 D:无数次 218.在C语言程序中,表达式5%2的结果是
A:1 B:2.5 C:2 D:3 219.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为
A:单向值传递 B:地址传递 C:由实参传给形参,再由形参传回给实参 D:由用户指定传递方式 220.在 C 语言中,下列标识符中合法的是
A:in1_3 B:A_B!D C:const D:-int 221.下列定义变量的语句中错误的是
A:char For; B:double int_; C:float US$; D:int _int; 222.下面的表述,正确的是(   )
A:在C程序中,无论是整数还是实数,都能被准确无误地表示 B:在C程序中,%是只能用于整数运算的运算符 C:若a是实型变量,C程序中允许赋值a=10,因此实型变量等同整型变量 D:在C程序中,每行只能写一条语句 223.以下对二维数组a的正确说明是
A:float a(3,4); B:int a[3][]; C:double a[2][4]; D:float a(3)(4); 224.如下叙述中,错误的是(   )
A:赋值表达式末尾加分号就构成赋值语句 B:C语句必须以分号结束 C:空语句出现在任何位置都不会影响程序运行 D:复合语句在语法上被看作一条语句 225.下列四组选项中,均是合法转义字符的选项是
A:‘\\0’,‘\101’,‘xlf’ B:‘\”’,‘\\’,‘\n’ C:‘\018’,‘\f’,‘xab’ D:‘\’,‘\017’,‘\”’ 226.C语言结构体类型变量在程序运行期间
A:部分成员驻留在内存中 B:在内存中仅仅开辟一个存放结构体变量地址的单元 C:只有最开始的成员驻留在内存中 D:所有的成员一直驻留在内存中 227.以下选项中,当x为大于l的奇数时,值为0的表达式是
A:x%2==0 B:x%2!=0 C:x%2==1 D:x/2 228.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式为
A:从左起输出该字符串,右补空格 B:输出错误信息 C:按原字符长从左向右全部输出 D:右对齐输出该字符串,左补空格 229.下列可用于C语言用户标识符的一组是
A:void, define, WORD B:For, -bc,IF C:2a,DO,sizeof D:a3_3,_123,Car 230.以下正确的描述是
A:在循环体内使用break语句或continue语句的作用相同 B:只能在循环体内和switch语句体内使用break语句 C:continue语句的作用是结束整个循环的执行 D:从多层循环嵌套中退出时,只能使用goto语句 231.已知 int a=1,b=3则a%b的值为
A:2 B:0 C:1 D:3 232.以下结构体类型说明和变量定义中正确的是
A:tupedef strct REC;{ int n=0; char c='A';}t1,t2; B:tupedef strct{ int n; char c;}REC; REC t1,t2; C:strct{ int n; char c;}REC; REC t1,t2; D:tupedef strct{ int n; char c;}; REC t1,t2; 233.在嵌套使用if语句时,C语言规定else总是
A:和之前与其具有相同缩进位置的if配对 B:和之前的第一个if配对 C:和之前与其最近的且不带else的if配对 D:和之前与其最近的if配对 234.下列叙述中正确的是
A:一个算法的时间复杂度大,则其空间复杂度必定小 B:一个算法的空间复杂度大,则其时间复杂度也必定大 C:一个算法的空间复杂度大,则其时间复杂度必定小 D:其余三种说法都不对 235.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为:
A:double B:char C:float D:int 236.知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 if(x>y) z=x; x=y; y=z;
A:x=10, y=20, z=30 B:x=20, y=30, z=20 C:x=20, y=30, z=10 D:x=20, y=30, z=30 237.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
A:c=c-′A′+′a′ B:c=(′A′+c)%26-′a′ C:c=c+32 D:c=(c-′A′)%26+′a′ 238.设有定义:int n1=0,n2,*p=&n2,*q=,以下赋值语句中与n2=n1;语句等价的是
A:*p=*q; B:p=*q; C:*p= D:p=q; 239.以下不构成无限循环的语句或语句组是
A:n=0; do{ ++n;}while(n B:n=0; while(1){ n++;} C:n=10; while(n) ;{ n--;} D:for(n=0;i=1;i++) n+=i; 240.设 int a=9,b=20;则 printf(″%d,%d\n″,a--,--b) ;的输出结果是
A:10, 19 B:9, 19 C:10, 20 D:9, 20 241.若有定义int x,y; 并已正确给变量赋值,则下列选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是
A:(x-y>0) B:(x-y0) 242.若有语句:char *line[5];,以下叙述中正确的是
A:定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 B:定义line是一个指向字符型函数的指针 C:定义line是一个指针数组,语句中的*号称为间址运算符 D:定义line是一个数组,每个数组元素是一个基类型为char的指针变量 243.设fun()函数的定义形式为:void fun(char ch,float x){…}则下列对函数fun的调用语句中,正确的是
A:fun(32,32); B:fun("abc",3.0); C:t=fun('D',16.5); D:fun('65',2.8); 244.设有定义:int k=1,m=2; float f=7;则下列选项中错误的表达式是( C )。A) B)-k++ C) D)
A:k=k>=k B:k%int(f) C:++k D:k>=f>=m 245.若有以下说明和定义union dt { int a; char b; double c;}data; 以下叙述中错误的是
A:程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000 B:变量data所占内存字节数与成员c所占字节数相等 C:data的每个成员起始地址都相同 D:data可以作为函数的实参 246.在执行下述程序时,若从键盘输入6和8,则结果为main() {     int a,b,s;   scanf('%d%d',&a,&b);   s=a;   if(aA:64 B:其余选项都不对 C:36 D:48 247.以下程序输出的结果是main(){ int m=5; if(m++>5) printf("%d",m++); else printf("%d",m--);}
A:4 B:7 C:5 D:6 248.若执行下面的程序时,从键盘输入5和2,则输出结果是main() { int a,b,k; scanf("%d,%d ",&a,&b); k=a; if(a k=a%b; else k=b%a; printf("%d\n",k);}
A:3 B:5 C:0 D:2 249.若有如下语句 int x=3; do{ printf("%d\n",x-=2); }while(!(--x)); 则上面程序段:
A:输出的是1 B:输出的是3和0 C:输出的是1和-2 D:是死循环 250.以下程序的输出结果是#include main() { int a[5]={2,4,6,8,10},*p; p=a; p++; printf("%d",*p); }
A:8 B:2 C:6 D:4 251.以下程序的输出结果是#include void fun(int x) { if(x/2>0) fun(x/2); printf("%d",x); } main() { fun(3); printf("\n");}
A:12 B:10 C:11 D:13 252.有以下程序#include main() { int a[ ]={1,2,3,4},y,*p=&a[3]; --P; y=*p; printf("y=%d\n",y); } 程序的运行结果是
A:y=0 B:y=3 C:y=1 D:y=2 253.下列程序运行后的输出结果是 。main( ){ char c; int n=100; float f=10; double x; x=f*=n/=(c=50); printf("%d %f\n",n,x);}
A:2 40.000000 B:4 40.000000 C:2 20.000000 D:4 20.000000 254.有以下程序段char ch;int k; ch='a';k=12; printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
A:a,97,12k=12 B:输出项与格式描述符个数不符,输出为零值或不定值 C:a,97,k=12 D:因变量类型与格式描述符的类型不匹配输出无定值 255.若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是
A:3,5,7 B:程序段有语法错 C:3,5,3 D:3,5,5 256.有以下程序#include main() { int i,j,m=55; for(i=1;i for(j=3;j m=m%j; printf("%d\n",m); } 程序的运行结果是
A:0 B:2 C:1 D:3 257.有以下程序#include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++; b++;break; case 3:a++; b++; } printf("a=%d,b=%d\n",a,b); } 程序的运行结果是
A:a=1,b=1 B:a=1,b=0 C:a=2,b=2 D:a=2,b=1 258.有以下程序main() { int a[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;i for(j=0;j for(k=j+1;k if(a[j][i]>a[k][i]) { t=a[j][i]; a[j][i]=a[k][i]; a[k][i]=t; } for(i=0;i printf("%d,",a[i][i]); } 程序运行后的输出结果是
A:1,6,5,7, B:4,7,5,2, C:1,6,2,1, D:8,7,3,1, 259.有下列程序:int sub(int n) { return(n/10+n%10);}main( ){ int x,y; scanf("%d",&x); y=sub(sub(sub(x))); printf("%d\n",y);} 若运行时输入:1234,程序的输出结果是
A:1 B:127 C:19 D:10 260.有以下程序int fun(int n) { if(n==1) return 1; else return(n+fun(n-1)); } main() { int x; scanf("%d",&x); x=fun(x); printf("%d\n",x); } 执行程序时,给变量x输入10,程序的输出结果是
A:45 B:65 C:55 D:54 261.有以下程序main() { int k=5,n=0; do { switch(k) { case 1: case 3:n+=1;k--;break; default:n=0;k--; case 2: case 4:n+=2;k--;break; } printf("%d",n); }while(k>0 && n} 程序运行后的输出结果是
A:0235 B:02356 C:235 D:2356 262.以下程序运行后,输出结果是main(){ int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a printf("%d,%d\n",k,m);}
A:1,1 B:0,1 C:1,0 D:0,0 263.下列程序执行后的输出结果是main() { int a[3][3], *p,i; p=&a[0][0]; for(i=1; i p[i]=i+1; printf("%d\n",a[1][2]);}
A:6 B:随机数 C:3 D:9 264.以下程序的输出结果是main() { int a,i; a=0; for(i=1;i { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } }printf("%d\n",a);}
A:20 B:13 C:31 D:10 265.fwirte 函数的一般调用形式是( )。
A:fwrite(fp,size,count,buffer); B:fwrite(buffer,count,size,fp); C:fwrite(buffer,size,count,fp); D:fwrite(fp,count,size,buffer); 266.若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是( )。
A:a[a[2]] B:a[4] C:a[a[2]+1] D:a[3]+1 267. 函数的实参为常量时,形参与实参结合的传递方式为( ) 。
A:值传递 B:形参传递 C:地址传递 268.执行下面程序的输出结果为( )#include void main() { int a[3][3]={{13,18,16},{15,19,12},{8,15,22}}; int i,j,x=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i][j]A:9 B:8 C:7 D:10 269.已知 int x=2,y=3;则计算表达式 y+=x-=x*=y 后,x 和 y 分别为( )。
A:0,5 B:0,3 C:-4,2 D:6,5 270.下列( )数据类型属于构造类型。
A:指针类型 B:字符型 C:数组类型 D:整型 271.当调用函数时,实参是一个数组名,则向函数传递的是( )。
A:数组每个元素中的值 B:数组的长度 C:数组的首地址 D:数组每一个元素的地址 272.如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为( )。
A:extern B:static C:default D:auto 273.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值 ( )。
A:3 B:-3 C:-6 D:-12 274.下列关于#include 命令的叙述中,错误的是( )。
A:一个 #include 命令中只能指定一个被包含文件 B:#include 命令中,文件名可以用双引号或尖括号括起来 C:一个#include 命令中可以指定多个被包含文件 D:一个被包含文件中又可以包含另一个被包含文件 275.对于每个进行动态存储分配的函数,其返回值类型为( )。
A:char B:char* C:Void D:void* 276.以下( )不是高级语言。
A:Basic 语言 B:JAVA 语言 C:汇编语言 D:C 语言 277.要为读/写操作打开一个字符文件,其正确的打开方式为( )。
A:rw B:wr C:r+ D:rb+ 278.执行下面程序的输出结果为( )#include void main() { int i,s=0; for(i=1; i<10; i++) { s+=i*(i+1); if(s>40) break; } printf("s=%d\n",s); }
A:60 B:80 C:70 D:50 279.与十进制数 87 相等的十六进制数是( )。
A:3F B:57 C:127 D:214 280.若 i,j 已定义为 int 类型,则以下程序段中内循环体的总的执行次数是( )。 for (i=5;i;i--)for(j=0;j<4;j++){...}
A:30 B:24 C:25 D:20 281.已知 char ch[]=”my name”;则字符数组 ch 的长度是( )。
A:7 B:6 C:8 D:9 282.若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A:16 B:20 C:12 D:15 283.C 语言程序中,下列( )组符合变量命名规则。
A:stu_2、if3、s B:stu-2、int、d C:4x、float、size D:for、-sub、xy · 284.C语言的函数,函数体中可以没有任何语句。( )
A:错 B:对 285.int *p();表示该函数的返回值是一个指针。( )
A:对 B:错 286.在C语言中,所谓指针型数据,即指该数据是一个地址。( )
A:对 B:错 287.有如下程序段:int i, j = 2, k, *p = k = *p + j;这里出现的两个“*”号,含义是一样的。( )
A:对 B:错 288.对于指向单个变量的指针变量,像p+n、p++、p- -等运算是无意义的。( )
A:对 B:错 289.变量根据其作用域的范围可以分作局部变量和全局变量。( )
A:错 B:对 290.设p是指向数组a的指针变量,则a[i]和p[i]等价。( )
A:对 B:错 291.数组中的每一个元素,若要让一个指针变量指向它,必须用“&数组元素”的方法向该指针变量赋值。( )
A:错 B:对 292.一个C源程序可以由多个函数组成。( )
A:对 B:错 293.若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i=3;其中则对a数组元素不正确的引用是( )
A:a[p-a] B:*(&a[i]) C:p[i] D:a[10] 294.以下说法中正确的是( )
A:C语言程序总是从main( )函数开始执行 B:C语言程序中的main( )函数必须放在程序的开始部分 C:C语言程序总是从第一个定义的函数开始执行 D:在C语言程序中,要调用的函数必须在main( )函数中定义 295.有以下程序main(){int x=0,y=0,i;for(i=1;;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf (" %d,%d",x,y);}程序的输出结果是( )
A:2,5 B:5,2 C:2,1 D:2,2 296.下列叙述中,错误的一项是( )
A:C程序必须由一个或一个以上的函数组成 B:函数形参的值也可以传回给对应的实参 C:若函数有返回值,必须通过return语句返回 D:函数调用可以作为一个独立的语句存在 297.以下4个选项中,不能看作一条语句的是( )
A:if(b!=5) x=2; y=6; B:a=5,b=2.5,c=3.6; C:if(a<5) ; D:; 298.在C语言程序中,表达式5%2的结果是( )
A:2 B:3 C:2.5 D:1 299.有以下程序main(){int k=5,n=0;do{switch(k){case 1:case 3:n+=1;k--;break;default:n=0;k--;case 2:case 4:n+=2;k--;break;}printf("%d",n);}while(k>0 && n<5);}程序运行后的输出结果是( )
A:0235 B:235 C:2356 D:02356 300.若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是( )
A:switch(x){case 1.0:printf("*\n");case 2.0:printf("**\n");} B:switch(x);{case 1:printf("*\n");}{case 2:printf("**\n");} C:switch(a+b){case 1:printf("*\n");case 2+1:printf("**\n");} D:switch(a+b){case1:printf(**\n);}{casec:printf(**\n);} 301.不属于 C 语言基本数据类型的是( )
A:char B:int C:unsigned D:union 302.下列四组选项中,均不是C语言关键字的选项是( )
A:while,go,pow B:define,IF,s1 C:include,case,scanf D:getc,char,printf 303.下面的叙述中错误的是( )
A:C程序可以由多个程序文件组成 B:一个C语言程序只能实现一种算法 C:一个C函数可以单独作为一个C程序文件存在 D:C程序可以由一个或多个函数组成 304.以下结构体类型说明和变量定义中正确的是( )
A:tupedef strct REC;{int n=0;char c='A';}t1,t2; B:tupedef strct{int n;char c;};REC t1,t2; C:strct{int n;char c;}REC;REC t1,t2; D:tupedef strct{int n;char c;}REC;REC t1,t2; 305.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )
A:a=b=c+2 B:18.5%3 C:a=a+7=c+b D:a:=b+1 306.程序流程图中带有箭头的线段表示的是( )
A:调用关系 B:图元关系 C:数据流 D:控制流 307.以下对二维数组a的正确说明是( )
A:int a[3][]; B:float a(3)(4); C:float a(3,4); D:double a[2][4]; 308.已知字符′A′的ASCII码值是65,字符变量cl的值是′A′,c2 的值是′D′。执行语句printf("%d,%d",c1,c2-2);后,输出结果是( )
A:65,68 B:65,66 C:A,B D:A,68 309.以下选项中,当x为大于l的奇数时,值为0的表达式是( )
A:x%2==0 B:x%2!=0 C:x%2==1 D:x/2 310.main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b); printf("%d,%d\n",k,m);}</b);该程序运行后,输出结果是( )
A:0,0 B:1,1 C:1,0 D:0,1 311.下列叙述中正确的是( )
A:一个算法的空间复杂度大,则其时间复杂度必定小 B:其余三种说法都不对 C:一个算法的空间复杂度大,则其时间复杂度也必定大 D:一个算法的时间复杂度大,则其空间复杂度必定小 312.( )是构成C语言程序的基本单位。
A:函数 B:过程 C:子程序 D:子例程 313.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为( )
A:double B:int C:float D:char 314.设C语言中,一个short型数据在内存中占2个字节,则unsigned short 型数据的取值范围为( )
A:0~255 B:0~32767 C:0~65535 D:0~2147483647 315.下列四组选项中,均是合法转义字符的选项是( )
A:‘\”’,‘\\’,‘\n’ B:‘\018’,‘\f’,‘xab’ C:‘\\0’,‘\101’,‘xlf’ D:‘\’,‘\017’,‘\”’ 316.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为( )
A:char B:float C:double D:int 317.有下列程序:int fun1(double a){return a*=a;}int fun2(double x,double y){double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main( ){double w;w=fun2(1.1,2.0);……}程序执行后变量w中的值是( )
A:5 B:5.21 C:0.0 D:5.0 318.建立函数的目的不包括( )
A:减少程序文件所占内存 B:提高程序的执行效率 C:减少程序的篇幅 D:提高程序的可读性 319.有下列程序:main( ){int i,j,x=0;for(i=0;i<2;i+ +){x++;for(j=0;j<=3;j+ +){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}程序执行后的输出结果是( )
A:x=8 B:x=4 C:x=12 D:x=6 320.如下几种说法,错误的是( )
A:用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 B:C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 C:C语言源程序经编译后生成后缀为.obj的目标程序 D:C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 321.有以下程序#includeint f(int x){int y;if(x==0||x==1)return(3);y=x*x-f(x-2);return y;}main(){int z;z=f(3);printf("%d\n",z);}程序的运行结果是( )
A:9 B:6 C:0 D:8 322.在C语言中,函数返回值的类型最终取决于( )
A:调用函数时主调函数所传递的实参类型 B:函数定义时在函数首部所说明的函数类型 C:函数定义时形参的类型 D:return语句中表达式值的类型 323.有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是( )
A:1 B:2 C:0 D:3 324.在C语言中,运算对象必须是整型数的运算符是( )
A:* B:% C:%和\ D:\ 325.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为( )
A:2 B:3 C:5 D:4 326.有如下程序main(){int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是( )
A:9876 B:987 C:8765 D:876 327.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是( )
A:c=(c-′A′)%26+′a′ B:c=(′A′+c)%26-′a′ C:c=c+32 D:c=c-′A′+′a′ 328.C语言中的简单数据类型包括( )
A:整型、实型、逻辑型 B:整型、字符型、逻辑型 C:整型、实型、字符型 D:整型、实型、逻辑型、字符型 329.设 int a=9,b=20;则 printf(″%d,%d\n″,a--,--b) ;的输出结果是( )
A:10, 19 B:9, 20 C:10, 20 D:9, 19 330.已知 int a=1,b=3则a/b的值为( )
A:0 B:0.333333 C:3 D:1 331.已知 int a=1,b=3则a%b的值为( )
A:1 B:0 C:2 D:3 332.在 C 语言中,下列标识符中合法的是( )
A:A_B!D B:in1_3 C:const D:-int 333.现有如下程序段#include "stdio.h"main(){int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){if(k[i]%2==0||k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为( )
A:8,8 B:7,10 C:7,8 D:8,10 334.#includemain(){int a[5]={2,4,6,8,10},*p;p=a;p++;printf("%d",*p);} 该程序的输出结果是( )
A:4 B:2 C:8 D:6 335.下面的几种说法,正确的是( )
A:构成C程序的基本单位是函数 B:main()函数必须放在其他函数之前 C:C函数定义的格式是K&R格式 D:可以在一个函数中定义另一个函数 336.设有以下说明语句typedef struct{int n;char ch[8];} PER;则下面叙述中正确的是( )
A:typedef struct 是结构体类型 B:PER是结构体类型名 C:struct 是结构体类型名 D:PER 是结构体变量名 337.若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i);其输出结果是( )
A:0,1 B:程序进入无限循环 C:1,1 D:0,0 338.C语言规定,在一个源程序中,main函数的数量( )
A:可以有四个 B:只能有1个 C:可以有多个 D:必须有两个 339.有以下结构变量定义语句: struct age{ int y; char n;} stu;则结构类型名为age。( )
A:错 B:对 340.全局变量说明为static存储类,其作用域将被扩大。( )
A:错 B:对 341.在对二维数组全部元素赋初值时,不可以省略行数,但能省略列数。( )
A:正确 B:错误 342.定义int x,y;执行y=(x=1,++x,x+2);后, y的值是4。 ( )
A:错 B:对 343.任何存储类的变量在未赋初值时,其值都是不确定的。( )
A:错 B:对 344.二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值。 ( )
A:对 B:错 345.设有如下定义:int *p; *p=100;则 printf("%d",p); 的输出结果是100。 ( )
A:错 B:对 346.静态局部变量是在编译时被初始化的,故它只被赋初值一次。 ( )
A:对 B:错 347.已知a=1,b=2,c=3,d=4,则条件表达式a>b?a:(c>d?c:d)的值为4。 ( )
A:错 B:对 348.条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'。( )
A:对 B:错 349.假设有int a[10], *p;则p=&a[0]与p=a等价( )
A:对 B:错 350.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(p+8)。 ( )
A:对 B:错 351.对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2。 ( )
A:错 B:对 352.语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式a>b?a:b取代。 ( )
A:错 B:对 353.字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面。 ( )
A:对 B:错 354.通过return语句,函数可以带回一个或一个以上的返回值。( )
A:错 B:对 355.数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值。 ( )
A:正确 B:错误 356.已知a=3,b=4,c=5。则逻辑表达式a+b>c && b==c值为0。 ( )
A:错 B:对 357.定义 int x[5],n;则x=x+n;或x++;都是正确的。 ( )
A:错 B:对 358.表达式 (j=3, j++) 的值是4。( )
A:错 B:对 359.break语句能够终止当前进行的多层循环。 ( )
A:对 B:错 360.两个字符串中的字符个数相同时才能进行字符串大小的比较( )
A:对 B:错 361.求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max。 ( )
A:对 B:错 362.定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2。 ( )
A:对 B:错 363.逻辑表达式4>2&&1||5<3-!0的值为1。 ( )
A:错 B:对 364.C语言程序的基本结构中,不包含( )。
A:循环结构 B:顺序结构 C:函数结构 D:分支结构 365.定义以下结构体类型(若int型占据4个字节的内存空间)struct s{ int a; char b; float f; }; 则语句printf("%d",sizeof(struct s))的输出结果为( )。
A:13 B:24 C:9 D:12 366.C语言中,数组名代表( )。
A:数组全部元素的值 B:数组元素的个数 C:数组首地址 D:数组第一个元素的值 367.函数调用语句:fseek(fp,-20L,2);的含义是( )。
A:将文件位置指针移到距离文件头20个字节处 B:将文件位置指针从当前位置向后移动20个字节 C:将文件位置指针从文件末尾处后退20个字节 D:将文件位置指针移到离当前位置20个字节处 368.int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是( )。
A:for(i=1;i<11;i++) a[i+1]=i; B:for(i=0;i<10;i++) a[i]=i+1; C:for(i=0;i<10;i++) a[i-1]=i; D:for(i=1;i<11;i++) a[0]=1; 369.若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是( )。
A:a=*q; B:q=a; C:p=q; D:*p=*q; 370.有以下程序段int k=0;while(k=0) k++; 循环执行的次数为( )。
A:无限次 B:执行一次 C:有语法错误,不能执行 D:一次也不执行 371.下列关于单目运算符++、--的叙述中正确的是( )。
A:它们的运算对象可以是char型变量、int型变量和float型变量 B:它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C:它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D:它们的运算对象可以是任何变量和常量 372.下面的程序段不能实现求阶乘8!(8!=1*2*3*4*5*6*7*8,结果存放在p中)的是( )。
A:p=1; B:p=1;i=1; C:p=1;i=8; while(i<9) dop=p*i++ ; {p=p*i--;} while(i>1); D:p=2;for(i=1;i<9;i++) for(i=8;i>3;i--)p=p*i; p=p*i; 373.表达式18/4*sqrt(4.0)/8值的数据类型为( )。
A:float B:double C:不确定 D:int 374.C语言结构体类型变量在程序执行期间( )。
A:部分成员驻留在内存中 B:所有成员一直驻留在内存中 C:只有一个成员驻留在内存中 D:没有成员驻留在内存中 375.以下对一维整型数组a 的正确说明是( )。
A:int n=10,a[n]; B:int n; scanf(“%d”,&n); int a[n]; C:#define SIZE 10 int a[SIZE]; D:int a(10); 376.在宏定义#define PI 3.14159中, 用宏名替换一个( )。
A:单精度数 B:双精度数 C:字符序列 D:函数名 377.int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为( )。
A:3 B:1 C:2 D:不一定 378.int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;不能表示a数组元素的表达式是( )。
A:*p++ B:a[10] C:a[p-a] D:*p 379.以下对二维数组的定义中正确的是( )。
A:int a[][]={{1,2,3},{4,5,6}}; B:int a[4][]={1,2,3,4,5,6}; C:int a[][3]= {1,2,3,4,5,6}; D:int a[][3]; 380.若有以下程序段:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)( )。
A:输出a B:输出abcd C:输出abcduuuuuu D:编译不通过 381.C语言规定,程序中各函数之间( )。
A:不允许直接递归调用允许间接递归调用 B:允许直接递归调用不允许间接递归调用 C:既允许直接递归调用也允许间接递归调用 D:不允许直接递归调用也不允许间接递归调用 382.调用strlen(“abcdcdef”)的返回值为( )。
A:4 B:5 C:9 D:8 383.以下不正确的叙述是( )
A:在C程序中,APH和aph是两个不同的变量 B:若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 C:在C程序中,逗号运算符的优先级最低 D:当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 384.以下描述中正确的是( )
A:do-while循环中,根据情况可以省略while B:do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C:由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 D:在do-while循环体中,是先执行一次循环,再进行判断 385.++*p等价于++(*p)。( )
A:对 B:错 386.编辑程序是( )。
A:命令计算机执行指定的操作 B:建立并修改程序 C:调试程序 D:将C 源程序编译成目标程序 387.字符串复制函数为( )。
A:gets() B:strcmp() C:strcpy() D:puts() 388.字符串连接函数( )。
A:gets() B:strcpy() C:puts() D:strcat() 389.斐波那契数列公式为( )。
A:F(0)=1,F(1)=1, F(n)=F(n +1)+F(n+2)(n ≥ 2,n ∈ N*) B:F(0)=0,F(1)=0, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*) C:F(0)=0,F(1)=1, F(n)=F(n +1)+F(n + 2)(n ≥ 2,n ∈ N*) D:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*) 390.字符串常量来初始化字符数组错误的是( )。
A:char str[ 10]={"I am happy"}; B:char str[11 ]={"I am happy"}; C:char str[ ]="I am happy"; D:char str[ ]={"I am happy"}; 391.在C语言中,能正确表示数学关系“10<a<20”的表达式为( )。
A:a>10 & a<20 B:a>10 | | a<20 C:a>10 && a<20 D:a>10 | a<20 392.void fun(int x,int *y)
{
printf("%d%d",x,*y);
x=5;
*y=6;
}
int main()
{
int x=1,y=2;
fun(y,&x);
printf("%d%d",x,y);
return 0;
}
上述程序的运行结果是( )。
A:2162 B:5662 C:2165 D:5656 393.main()
{int a=2,b=7,c=5;
switch(a>0)
{case 1:switch(b<0)
{case 1:switch(“@”); break;
Case 2: printf(“!”); break;
}
case 0: switch(c==5)
{ case 0: printf(“*”); break;
case 1: printf(“#”); break;
case 2: printf(“$”); break;
}
default : printf(“&”);
}
printf(“\n”);
}
以上程序的运行结果是( )。
A:#$& B:#& C:*# D:#$ 394.以下叙述中正确的选项是( )
A:结构体类型可以使几个不同的变量共占用同一段内存 B:结构体变量占用的内存空间为所以成员占用的空间之和 C:对于不同类型的数据,若想合成有机的整体,可以引用结构体进行定义 D:在引用结构体成员时,只能对最低级的成员进行赋值或存取操作或计算 395.C语言中,将一个空格赋给字符变量ch,正确的赋值方式是( )
396.

假设int x,y,z;若从键盘给x、y、z输入数据,下列不正确的输入语句是:()


A:scanf("%d%d%d",x,y,z); B:scanf("%d%d%d",&x,&y,&z); C:scanf("%d%d%d,&x,&y,&z"); D:input x、y、z; E:read("%d%d%d",&x,&y,&z); 397.关于if语句,下列叙述正确的是:( )
A:if和else后面可以包含多个操作语句,此时要用一对大括号把这多个语句对括起来成为一个复合语句。 B:if语句中,条件表达式的括号不可以省略 C:if语句中,条件表达式只能是关系表达式或逻辑表达式 D:else子句不能作为一个独立的语句单独使用,必须是if语句的一部分。 398.若有说明:int a[10];则对a数组元素的正确引用是( )。
A:a[10-10] B:a[3,5] C:a[10] D:a(5) 399.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是( )。
A:while循环执行10次 B:循环是无限循环 C:循环体语句一次也不执行 D:循环体语句执行一次 400.若有说明: int a[][4]={0,0};则下面不正确的叙述是( )。
A:有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 B:因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 C:二维数组a的第一维大小为1 D:数组a的每个元素都可得到初值0 401.C语言的注释定界符是( )。
A:{ } B:\* *\ C:/* */ D:[ ] 402.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A:函数调用可以出现在表达式中 B:函数调用可以作为独立的语句存在 C:函数调用可以作为一个函数的形参 D:函数调用可以作为一个函数的实参 403.下列字符序列中,可用作C标识符的一组字符序列是( )。
A:D56,r_1_2,name,_st_1 B:#md,&12x,month,student_n! C:class,day,lotus_1,2day D:S.b,sum,average,_above 404.下列字符序列中,不可用作C语言标识符的是( )。
A:symbol B:#ab C:a_1 D:b70 405.C语言中,字符(char)型数据在微机内存中的存储形式是( )
A:EBCDIC码 B:ASCII码 C:反码 D:补码 406.对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是( )。
A:将5个初值依次赋给a[6]至a[10] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[1]至a[5] D:因为数组长度与初值的个数不相同,所以此语句不正确 407.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数( )。
A:能返回一个用户所希望的值 B:返回一个不确定的值 C:没有返回值 D:返回若干个系统默认值 408.字符串指针变量中存入的是( )。
A:字符串的首地址。 B:字符串 C:字符串变量。 D:第一个字符 409.若x=2,y=3,则x&y的结果是( )。
A:0 B:2 C:5 D:3 410.设有语句char a= ‘\172’;,则变量a( )
A:包含3个字符 B:说明不合法 C:包含1个字符 D:包含2个字符 411.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A:由实参传给形参,再由形参传回给实参 B:由用户指定的传递方式 C:单向值传递 D:地址传递 412.函数的形式参数隐含的存储类型说明是( )。
A:auto B:register C:static D:extern 413.若x,i,j和k都是int型变量,则执行下面表达式后x的值为( )。x=(i=4,j=16,k=32)
A:4 B:32 C:52 D:16 414.下面叙述中不正确的是( )
A:声明函数时必须明确其参数类型和返回类型 B:函数可以返回一个值,也可以什么值也不返回 C:用户若需调用标准库函数,调用前要使用预编译命令将该函数所在文件包括到用户源文件中 D:空函数不完成任何操作,所以在程序设计中没有用处 415.C语言源程序的基本单位是( )。
A:过程 B:函数 C:子程序 D:标识符 416.以下常量中,能够代表逻辑“真”值的常量是( )。
A:0 B:'0' C:NULL D:‘\0'

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(6) dxwkbang
返回
顶部