1、1.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的次序依次为(A)A、算术运算、关系运算、赋值运算B、算术运算、赋值运算、关系运算C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算2.若已定义x和y为double类型,则体现式x=1,y=x+3/2 的值是(B)。A、1B、2.0C、2.5D、23.如下标识符中,不能作为合法的C用户定义标识符的是(C)。A、_doubleB、_123C、putcharD、INT4.如下程序段的输出是(D)printf(“|%10.5f|n”, 12345.678);A、|12345.6780|B、|12345.678|C、|2345.
2、67800|D、|12345.67800| 5.运行如下程序后,输出的成果是(B)main() int k = -3; if(k = 0) printf(*n), else printf(&n);A、*B、有语法错误不能通过编译C、&D、*&6.下列定义数组的语句中正确的是(A)。A、#define size 10 char str1size,str2size+2;B、int num10;C、char str;D、int n=5; int ann+2;7.宏定义#define PI 3.14中的宏名PI替代(C)A、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数8.如下论述正
3、确的是(D)A、C程序中各函数之间允许直接递归调用不允许间接递归调用B、C程序中各函数之间不允许直接递归调用允许间接递归调用C、C程序中各函数之间不允许直接递归调用也不允许间接递归调用D、C程序中各函数之间既允许直接递归调用也允许间接递归调用9.如下论述中不正确的是(D)。A、如下是正确的宏定义 #define IBM_PC 5B、预处理命令行都必须以#号开始C、在程序中凡是以#号开始的语句行都是预处理命令行D、C程序在执行过程中对预处理命令行进行处理10.序段int k=10; while(k=0) k=k-1;循环体语句执行_0_次.字符串的结束标志是_0_.11.结构体是不一样数据类型的
4、数据集合,作为数据类型, 必须先阐明结构体_类型_,再阐明结体变量.12.如下程序由终端键盘输入一个文献名,然后把终端键盘输入的字符依次存放到该文献中,用#号作为结束输入的标志。请填空。#include main() FILE *fp; char ch, fname10; printf(Enter the name of filen); gets(fname); if( ( fp = _fopen_(fname,w) ) = NULL ) printf(Open error!n); exit(0); printf(Enter data: ); while( ch = getchar() ) !
5、= # ) fputc(ch , fp); fclose( fp );13.a为任意整数,能将变量a清零的体现式是_a=aa设有阐明:char c; int x; double z;则体现式c*x+z值的数据类型为(A)A、doubleB、charC、intD、float14.不合法的八进制数是(D)A、01B、0C、07700 D、02815.若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则如下程序段的执行成果是(B)。ch=a; k=12; printf(%x,%o,ch,ch); printf(k=%dn,k);A、61,141,k=%12B、61,
6、141,k=%dC、因变量类型与格式描述符的类型不匹配,输出无定值D、输出项与格式描述符个数不符,输出为零值或不定值16.如下不符合C语言语法的赋值语句是(D)。A、j=j+1;B、j=j=5;C、k=(2*4,k*4);D、y=float(j);17.下列运算符中优先级别最高的是(A)A、!B、%C、-=D、&18.如下能正确定义数组并正确赋初值的语句是(D)。A、int c2=1,2,3,4;B、int a12=1,3;C、int N=5,bNN;D、int d32=1,2,34;19.下列语句中,不正确的是(D)。A、static char a2=1,2;B、static int a2=
7、1,2;C、static char a2=1;D、static char a2=1,2,3;19+ C语言源程序文献通过C编译程序编译连接之后生成一个后缀为()的可执行文献(B)A、.objB、.exeC、.cD、.bas20.在C语言的函数中,下列正确的说法是(C)。A、形参必须是变量名B、数组名不能作形参C、能够有也能够没有形参D、必须有形参21.两个指针变量不能够(D)。A、指向同一地址B、比较C、相减D、相加22.若以a+方式打开一个已存在的文献,则如下论述正确的是(D)。A、文献打开时,原有文献内容不被删除,位置指针移到文献开头,可作重写和读操作B、其他各种说法皆不正确C、文献打开时
8、,原有文献内容被删除,只可作写操作D、文献打开时,原有文献内容不被删除,位置指针移到文献末尾,可作添加和读操作如下程序的运行成果是_x=123.459780_ 。#include main() double x = 123.45478; x = (x* 100 + 0.5) / 100; printf(x = %fn, x);23.如下程序由终端键盘输入一个文献名,然后把终端键盘输入的字符依次存放到该文献中,用#号作为结束输入的标志。请填空。#include main() FILE *fp; char ch, fname10; printf(Enter the name of filen);
9、gets(fname); if( ( fp = fopen(fname,w) ) = NULL ) printf(Open error!n); exit(0); printf(Enter data: ); while( ch = getchar() ) != # ) fputc(ch , fp); _fclose_( fp );x=5,y=8时,c语言体现式5-2=x-1=y-2的值是_1_.24.【程序改错】:只允许修改错误代码,其他代码不允许修改!-功效:在字符串str中找出ASCII码值最小的字符,将其放在第一 个位置上,并将该字符前的原字符向后次序移动。例如:调用fun函数之前给字符串
10、输入:eBCDAFGH,调用后字符串 中的内容为:AeBCDFGH。-*/#include #include void fun(char *p) char min,*q=p;int i=0; min=pi; while(pi!=0) if(minpi) min=pi; /*ERROR*/ p=p+i; i+; /*ERROR*/ while(qp)while(pq) 【改错3】【参考答案】*q=*(q-1)下列运算符中优先级最高的是(C)。A、bc) printf(%dn,d); else if(c-1 = d) = 1) printf(%dn,d+1); else printf(%dn,d+
11、2); 执行后输出成果是(D)A、2B、4C、编译时犯错char a1=abc,a280=1234;将a1串连接到a2串背面的语句是(B)。A、strcat(a1,a2);B、strcat(a2,a1);C、strcpy(a2,a1);D、strcpy(a1,a2);C语言中,函数值类型的定义能够缺省,此时函数值的隐含类型是(C)。A、voidB、doubleC、intD、floatC语言中,假如函数不需要返回值,函数类型应当定义为(C)。A、doubleB、intC、voidD、float使用共用体变量,不能够(A)。A、同时访问所有组员B、进行动态管理C、简化程序设计D、节约存储空间如下程
12、序运行后的输出成果是_3_。 main() int p=30;printf(%dn,(p/30 ? p/10 : p%3);有如下宏定义和赋值语句,宏置换后的赋值语句的形式是有如下宏定义和赋值语句,宏置换后的赋值语句的形式是_p = 3+5*3+5_。#define A 3+5 p = A * A;设有如下结构类型阐明和变量定义(假定int型数据占两个字节),则变量a在内存所占字节数是 _22_ . struct stud char num6; int s4; double ave; a,*p;如下程序用来统计文献中字符的个数。请填空。#include main() FILE *fp;long
13、 num = 0;if( ( fp = fopen(fname.dat, _r_) = NULL ) printf(Open error!n); exit(0); while( !feof(fp) fgetc(fp); num +; printf(num = %dn, num); fclose( fp );int a=1,b=2,c=3; 执行语句a += b *= c;后a的值是_7_.【程序改错】:只允许修改错误代码,其他代码不允许修改!-功效:依照整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+1/(300*300)+ +1/(m*m)例如:若
14、m = ,则应输出: 0.000160。-*/#include #include /*ERROR*/fun ( int m ) double y = 0, d ; int i ; /*ERROR*/ for( i = 100, i = m, i += 100 ) d = (double)i * (double)i ; /*ERROR*/ y += 1.0 d ; return( y ) ; void main( ) int n = ; printf( nThe result is %lfn, fun ( n ) ) ;【改错1】错误【学生答案】fun ( int m )【参考答案】double
15、 fun ( int m )=【改错2】正确【学生答案】for( i = 100; i = m; i += 100 ) 【参考答案】for( i = 100; i = m; i += 100 )=【改错3】正确【学生答案】y += 1.0 / d ;【参考答案】y += 1.0 / d ;下列四组选项中,均不是C语言核心字的选项是(A)。A、file IF typeB、include scanf caseC、while go powD、getc char printf如下运算符中,优先级最高的运算符是(C)。A、=B、|C、!D、%若变量已正确阐明,要求用如下语句给c1赋予字符%、给c2赋予字
16、符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是(A)scanf(%f%c%f%c, &a, &c1, &b, &c2);A、2.0%4.0# B、2% 4# C、2.0 % 4.0 # D、2 % 4 #printf函数中用到格式符%5s,其中数字5表示输出的字符串占5列,假如字符串长度不小于5,则输出按方式(B)。A、右对齐输出该字串,左补空格B、按原字符长从左向右所有输出C、输犯错误信息D、从左起输出该字符串,右补空格如下正确的函数定义形式是(D)。A、double fun(int x,y);B、double fun(int x,int y);C、double fun(int x
17、;int y)D、double fun(int x,int y)下列选项中正确的语句组是(C)。A、char *s; s=Beijing;B、char s8; s=Beijing;C、char *s; s=Beijing;D、char s8; s=Beijing;若有定义:int *p3;,则如下论述中正确的是(C)。A、定义了一个名为*p的整型数组,该数组含有三个int类型元素B、定义了一个可指向一维数组的指针变量p,所指一维数组应具备三个int类型元素C、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针D、定义了一个基类型为int的指针变量p,该变量具备三个指针对
18、结构体类型的变量的组员的访问,可使用的运算符是(A)。A、.B、&C、*D、!C语言中的文献类型只有(D)。A、二进制文献一个B、文本文献一个C、索引文献和文本文献两种D、ASCII文献和二进制文献两种如下程序运行后的输出成果是_yes_。 main() int a=1,b=3,c=5; if (c=a+b) printf(yesn);else printf(non);若有定义: char ch,*p=&ch;通过指针p给变量ch读入字符的scanf函数调用语句是_scanf(%c,p);(注意分号)_。int x=2,y=3,z=4; 则体现式!(x+y)z的值为_0_.设有阐明:char
19、c; int x; double z;则体现式c*x+z值的数据类型为(A)A、doubleB、charC、intD、float若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则如下程序段的执行成果是(B)。ch=a; k=12; printf(%x,%o,ch,ch); printf(k=%dn,k);A、61,141,k=%12B、61,141,k=%dC、因变量类型与格式描述符的类型不匹配,输出无定值D、输出项与格式描述符个数不符,输出为零值或不定值如下不符合C语言语法的赋值语句是(D)。A、j=j+1;B、j=j=5;C、k=(2*4,k*4);D、
20、y=float(j);下列语句中,不正确的是(D)。A、static char a2=1,2;B、static int a2=1,2;C、static char a2=1;D、static char a2=1,2,3;/*- 【程序改错】:只允许修改错误代码,其他代码不允许修改!-功效:在字符串str中找出ASCII码值最小的字符,将其放在第一 个位置上,并将该字符前的原字符向后次序移动。例如:调用fun函数之前给字符串输入:eBCDAFGH,调用后字符串 中的内容为:AeBCDFGH。-*/#include #include void fun(char *p) char min,*q=p;i
21、nt i=0; min=pi; while(pi!=0) if(minpi) min=pi; /*ERROR*/ p=p+i; i+; /*ERROR*/ while(qp) /*ERROR*/ *q=(q-1); q-; p0=min;void main() char str80; printf(Enter a string:);gets(str); printf(nThe original string:);puts(str); fun(str); printf(nThe string after moving:);puts(str);【改错1】错误【学生答案】p=p+i;【参考答案】q=
22、p+i;=【改错2】错误【学生答案】while(qp)while(pq)=【改错3】错误【学生答案】*q=(q-1);【参考答案】*q=*(q-1);q0=q-1;若已定义x和y为double类型,则体现式x=1,y=x+3/2 的值是(B)。A、1B、2.0C、2.5D、2如下程序段的输出是Dprintf(“|%10.5f|n”, 12345.678);A、|12345.6780|B、|12345.678|C、|2345.67800|D、|12345.67800| 宏定义#define PI 3.14中的宏名PI替代CA、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数 in
23、t s,i ; int t; float o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(i=0;i5;i+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);参考代码】 double y=0; int i; for(i=1; i=m; i+) y+=1.0/(2*i); return(y);程序改错
24、】:只允许修改错误代码,其他代码不允许修改!-功效:将s所指字符串中的字母转换为按字母序列的后续字母(但 Z转换为A, z转换为a),其他字符不变。-*/#include #include #include void fun (char *s) /*ERROR*/ while(*s!=0) if(*s=A & *s = a & *s=z) if(*s=Z) *s=A; else if(*s=z) *s=a; else /*ERROR*/ s += 1; /*ERROR*/ s+ void main() char s80; printf(n Enter a string with length
25、80. :nn ); gets(s); printf(n The string : nn ); puts(s); fun ( s ); printf (nn The Cords :nn ); puts(s);【改错1】错误【学生答案】while(*s!=0)【参考答案】while(*s!=0)=【改错2】错误【学生答案】s += 1;【参考答案】*s += 1;*s = *s+1;*s = 1+*s;=【改错3】错误【学生答案】s+【参考答案】s+;+s;功效:识别输入的字符串,每个单词输出一行-*/#include #include void main() int c; int inspace=0; /*FILL*/ while(c = _) != n) if(c = | c = t | c = n) /*FILL*/ if(_) inspace = 1; putchar(n); else inspace = 0; /*FILL*/ _; 【学生答案】while(c=_)!=n)【参考答案】getchar()=【空 2 】错误【学生答案】if(_)【参考答案】inspace=0=【空 3 】错误【学生答案】_;【参考答案】putchar(c)printf(%c,c);、
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100