1、计算机软件及应用DC测试100题在C语言中,下列对类型说明符typedef的叙述中错误的是( ) A用typedef可以定义各种类型名,但不能用来定义变量 B用typedef可以增加新类型 C用typedef只是将已经存在的类型用一个新的标识符来代表。 D使用typedef有利于程序的通用和移植B有如下C语言程序: #include void main() int x = 0; int *p = &x; printf(“%dn:,*p); 则编译运行后其输出结果是( )A 随机值 B0 Cx的地址 Dp的地址B下列关于C语言语法规则的说法中错误的是( ) A一条语句只做一件事情, B尽量在定义
2、变量的同时初始化该变量 C低一层次的语句可比高一层次的语句缩进一个TAB键的空间。 D空行会浪费内存,所以要尽量少用空行D在C语言中,如在一个全局变量前加上修饰符static,则下列描述正确的是( ) A将原动态存储区中的该变量存储到静态存储区中 B加与不加没有什么区别 C使该变量只能在当前文件中使用 D全局变量前不能加staticC有如下C程序 #include void main() int n; int s = 0; int t = 1; for( n = 1 ; n = 20 ; n+) _ s += t; printf(“%dn”, s);若使该程序实现计算 1!+ 2!.+20!的
3、功能,则在程序横线上应填语句( )At*=n; Bn*=t Cn=n*(n-1); Dt=t*(n-1)A有如下C语言程序 #include void main() int i; int sum; for ( i = 1 ; i 6 ; i+ ) sum += i ; printf(“%dn”, sum);则程序运行后的输出结果为( )A15 B14 C随机值 D0C在C语言中,有如下的定义和赋值语句 int a4 = 1,2,3,4; int *p; p = &a0;则*p+表示的是( )Aa0 Ba1 Ca0的地址 Da1的地址A有如下C语言程序 #include void main()
4、int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; int i,j; for(i = 0 ;i 4;i+) for(j=1; j=i; j+) printf(“%c”, ); for(j = _; j 4; j+) printf(“%4d”,numij); printf(“n”); 若想实现如下图所示输出,则在程序空白处填写( ) 1 2 3 4 6 7 8 11 12 16 Ai-1 Bi Ci+1 D4 iB有如下C语言 #include void swap(int *p1, int *p2) int *temp; temp = p1; p1
5、 = p2; p2 = temp; void main() int a = 3, b = 5; int *pointer1, *pointer2 pointer1 = &a; pointer2 = &b; swap(pointer1,pointer2); printf(“%d,%dn”,a,b); printf(“%d,%dn”,*pointer,*pointer2) 则程序运行后的输出结果为( ) A3,5 B3,5 C5,3 D5,3 5,3 3,5 3,5 5,3B在C语言中,表达式10!=9的值为( )。(选择一项)a) trueb) 随机值c) 0d) 1D在C语言中,下列关于函数的
6、叙述中正确的是( )。(选择二项)a)一个函数内部可以调用另一个函数,也可以调用它本身b)每个函数都可以被单独编译c)每个函数都可以单独运行d)在一个函数内部可以定义另一个函数AB在C语言中,默认头文件的扩展名是( )。(选择一项)a).hdb).cc).cppd).hD在C语言中,下列有关文件操作的叙述中错误的是( )。(选择一项)a) 使用fseek函数可以实现改变文件的位置指针b) 在程序结束时,应当用fclose函数关闭已打开的文件c) 利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据d) 不可以用FILE定义指向二进制文件的文件指针D有如下C语言代码:#i
7、ncludevoid main() int m=9,n=2; int a,b; a=m%n; b=m/n; printf(“a=%d,b=%dn”,a+,-b);则程序运行后输出结果是( )。(选择一项)a) a=1,b=4b) a=2,b=4c) a=2,b=3d) a=1,b=3D在C语言中,若有语句:char *line5;则下列叙述中正确的是( )。(选择一项)a) 定义line是一个长度为5的数组,每个数组元素是指向char类型的指针变量b) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组c) 定义line是一个指针数组,语句中的*号称为间址运算符d) 定义lin
8、e是一个指向字符型函数的指针A有如下C语言程序:#include#includevoid main(void)struct studentstuct int No; char Name20; char Sex; float Score; ;struct studentstruct student1; struct studentstruct *ps; ps=&student1; student1.No=1; strcpy(student1.Name,”ZhangGuo”); student1.Sex=M; studeng1.Score=90.5; _;若其实现的功能是记录某学员信息并输出,则空
9、白处不可以填入的代码是( )(选择一项)a) printf(“No:%dnName:%snSex:%cNscore:%.2fn”, student1.No,student1.Name,student1.Sex,student1.Score)b) printf(“No:%dnName:%snSex:%cNscore:%.2fn”, (*ps).No,(*ps).Name,(*ps).Sex,(*ps).Score)c) printf(“No:%dnName:%snSex:%cNscore:%.2fn”, ps-No,ps-Name,ps-Sex,ps-Score)d) printf(“No:%d
10、nName:%snSex:%cNscore:%.2fn”, ps.No,ps.Name,ps.Sex,ps.Score)D有如下C语言程序: #include void main() char c; char a=“shouji”; char *p=a; c=_; putchar(c); 则在程序空白处填上( )表达式,编译运行后能够输出字符”o”。(选择一项)a) (p+=2, *(p+)b) (p+=2,*+p)c) (p+=3,*p+)d) (p=p+2,+*p)A有如下C语言程序: #include void swap1(int c0,int c1) int t; t=c00; c00
11、=c10; c10=t; void swap2(int *c0, int *c1) int t; t=*c0; *c0=*c1; *c1=t; void main() int a2=3,5,b2=3,5; swap1(a, a+1); swap2(&b0, &b1); printf(“%d%d%d%dn”,a0,a1,b0,b1); 则编译运行后其输出结果是( )(选择一项)a) 3553b) 5335c) 3535d) 5353D在C语言中,有如下语句: int a32=1,2,3,4,5,6,*p3; p0=a1; 则*p0+1所表示的数组元素是( ).(选择一项)a) a01b) a10
12、c) a11d) a12C在C语言中,下列关于注释的说法错误的是( )。(选择一项)A)注释中尽量多使用计算机专业术语和缩写,以简化注释。B)注释一般放在代码的上方或右方,不放在被注释代码的下方。C)注释的频度要合适,一般要求占整个程序总行数的1/51/4D)注释不能有嵌套。A在C语言中,下列关于条件语句的描述中正确的是( )。 (选择二项)A)当if语句嵌套使用时,else总是和最近的一个未配对的if匹配 B)一个if可以有多个else与之匹配 C)一个switch语句总是可以被一系列if. else语句替换 D)当程序执行到if语句中的break时,将退出程序AC有如下两段C语言代码 :程
13、序段1: for(row=0;row100;row+) for(col=0;col5;col+) sum=sum+a rowcol;程序段2:for(col=0;col5;col+)for(row=0;row100;row+) sum=sum+a rowcol;则上述两段代码执行效率高的是( )。(选择一项) A)两段一样高 B)第一段程序较高 C)第二段程序较高 D)无法比较C有如下C语言程序 :#include int d=1;fun(int p)int d=5;d+=p+;printf(“%d ”,d);void main()int a=3;fun(a);d+=a+;printf(“%d
14、 ”,d); 则程序运行的结果是( )。(选择一项)A)9 6 B)9 4 C)8 4 D)8 5C在C语言中,有如下定义: int n1=0; int n2; int *p=&n2; int *q=&n1;则以下赋值语句中与 ”n2=n1;” 语句等价的是( )。(选择一项)A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;A有如下C语言程序: #include int i; void main() for (i=1;i=5;i+) if(i2) break; printf(“%dn”,i); 则程序运行后的输出结果是( )。(选择一项) A)2 B)3 C)4 D)5B有如下C语
15、言代码: #include struct student int x; char c; a; void f(struct student b) b.x=20; b.c=y; void main() a.x=10; b.c=e f(a); printf(“%d,%cn”,a.x,a.c); 则程序编译运行后的结果是( )。(选择一项)A)20,y B)20,e C)10,e D)10,yC有如下C语言程序:#include#includevoid main() char str13=“cd”; char str27=“ab”; strcat(str2,str1); printf(“%dn”,st
16、rcmp(“abcd”,str2);则编译运行后其输出结果( )。(选择一项)a)等于0b)等于-1c)大于0s)等于-35A有如下C语言程序:#includevoid fun(int *a, int i, int j) int t; if(ij) t=ai; ai=aj; aj=t; i+; j-; fun(a,i,j); void main() int x=2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d”,xi); printf(“n”);则程序运行后的输出结果是( )。(选择一项)a)1 2 6 8b)8 6 2 1c)8 6 1 2d
17、)8 1 6 2D有如下C语言程序:#includeint f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s;void main() int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%dn”,f(a);则编译运行后其输出结果是( )。(选择一项)a)12b)11c)18d)16D在C语言中,将一个函数声明为static后,该函数将( )。a)既能被同一源文件中的函数调用,也能被其他源文件中的函数调用。b)只能被同一源文件中的函数调用,不能被其他源文件中的函数调用。c)只能被其
18、他源文件中的函数调用,不能被同一源文件中的函数调用。d)既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用。B在C语言中,下列能够作为合法的变量标识符的是( )。 a) 8abc b) _1_2_3_ c) my.space d)&nameB有如下C语言代码: # include void main() int a=077; int b=a&3; printf(”%dn”,b); 则程序编译运行后的结果为( )。a) 1 b) 0 c) 3 d) 011C有如下C语言代码:#includevoid main() int a,b; scanf(“%d%d”,&a,&b); print
19、f(“%d,%d”,a,b);当输入a,b的值时,不能作为输入数据分隔符是( )。a) 逗号(,)b) 空格c) 回车d) TabA有如下C语言程序:#include void main () int j; for(j=0;j3;j-) if (j%3) j-; -j; -j; printf(“%d”,j); 则程序运行后输出的结果是( )。(选择一项)a) 6 3 b) 7 4 c) 6 2 d) 7 5B有如下C语言代码: #include void func () int var_a=0; static int var_b=0; printf(“%d”,var_a); printf(“%
20、d”,var_b); var_a+; var_b+;void main() int i; for (i=0;i3;i+) func(); printf(“n”);则程序编译运行后的结果为( )。(选择一项)a) 000000 b) 001122 c) 001020 d) 000102D有如下C语言程序:#include void main () int a,b; for (a=1,b=1;a=20) break; if (b%3=1) b+=3; continue; b-=5; printf(“%dn”,a); 则程序运行后的输出结果是( )。(选择一项)a) 7 b) 8 c) 9 d) 1
21、0B有如下C语言程序: #include void main() int x,y,z;scanf(“%d,%d,%d”,&x,&y,&z);if (xy) t=x; x=y; y=t;if (xz) t=z; z=x; x=t;if (yz) t=y; y=z; z=t;printf(“%d %d %d”,x,y,z); 输入三个互不相等的整数后,程序实现的功能是( )。(选择一项)a) 将三个数按照从大到小的顺序输出b) 将三个数按照最大数、最小数、中间数的顺序输出c) 将三个数按照中间数、最大数、最小数的顺序输出d) 将三个数按照从小到大的顺序输出D有如下C用语言程序: #include
22、int f(int a,int n) if(n=1) return f(a,n-1)+an-1; else return 0; void main() int aa5=1,2,3,4,5; int s; s=f(aa,5); printf(“%dn”,s); 则程序运行后的输出结果为( )。(选择一项)a) 4b) 5c) 14d) 15D有如下C语言程序:#include struct STUchar num 10;float score 3;void main ()struct STU s3=“20021”,90,95,85,“20022”,95,80,75,“20023”,100,95,
23、90;struct STU *p=s;int i;float sum=0;for(i=0;iscore i;printf(”%6.2fn”, sum);则程序运行后的输出结果是( )。a) 250.00b) 270.00c) 280.00d) 285.00B在C语言中,下列用于连接两个字符串的函数是( )。 (选1项)a. strcpyb. strlenc. strcmpd. strcatD在C语言中,假设指针p和数组b4是相同的数据类型,且p的初值为&b0,则p+3指向的元素为( )(选1项)a. b3b. &b3c. b2d. &b2A在C语言中,有一函数关系如下所示: (选1项)Y=x-
24、1(x0)则下列程序段中能正确表达上述关系的是( ) a. if(x=0) y=x+1; if(x=0) y=x; else y=x-1;b. if(x!=0) y=x-1; if(x0) y=x+1; else y=x;c. if(x=0) if(x0) y=x-1; else y=x; else y=x+1;d. if(x=0) y=x; if(x0) y=x-1; else y=x+1;C有如下C语言程序 #include struct student int a,b,c; ;void main() struct student stu2=1,2,3,4,5,6; int t; t=st
25、u0.a+stu1.b%stu0.c; printf(“%dn”,t);则程序运行后的输出结果是( ) (选1项)a. 5b. 3c. 1d. 0B有如下C程序:#includevoid main() int y=10; do y-; while(-y);printf(“%dn”,y-);则程序运行后的输出结果是( )(选1项)a. -1b. 0c. 1d. 8BC语言中允许函数类型缺省定义,此时该函数隐含的类型是( ) (选1项)a. float型b. int型c. long型d. void型B有如下C程序#includevoid function()static int x=1;int y=4;int z=0;x+;y-;z=x=y?1:0;printf(“%d”,z);void main()int a;for(a=0;a3;a+)function();则程序运行后的输出结果是( ) (选1项)a. 011b. 001c. 101d. 110A在C语言中,如果函数malloc未能成功执行分配到满足尺寸的内存,则该函数的返回值是( ) (选1项)a) 0b) -1c) EOFd) NULLD有如下C语言程序#include
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1