c语言试题说明语句2.docx
- 文档编号:30119814
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:22
- 大小:34.05KB
c语言试题说明语句2.docx
《c语言试题说明语句2.docx》由会员分享,可在线阅读,更多相关《c语言试题说明语句2.docx(22页珍藏版)》请在冰豆网上搜索。
c语言试题说明语句2
c语言试题--说明语句2
若有说明语句:
charc='\72';则变量c()。
A.说明不合法,c的值不确定
B.包含2个字符
C.包含3个字符
D.包含1个字符
以下程序的输出结果是
main()
{inta=2,b=5;
printf(“a=%%d,b=%%d\n”,a,b);
}
A.a=%2,b=%5
B.a=%%d,b=%%d
C.a=%d,b=%d
D.a=2,b=5
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
A.函数调用可以出现在表达式中
B.函数调用可以作为独立的语句存在
C.函数调用可以作为一个函数的实参
D.函数调用可以作为一个函数的形参
以下语句中,不能实现回车换行的是()。
A.fprintf(stdout,"\n");
B.fwrite("\n",1,1,stdout);
C.printf("\n");
D.putchar("\n");
下列程序的输出结果为()。
main()
{intm=7,n=4;
floata=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A.28.000000
B.27.500000
C.28.500000
D.27.000000
以下运算符中,优先级最高的运算符是()。
A.==
B.||
C.!
D.%
已知ch是字符变量,以下不正确的赋值语句是()
A.ch='b';
B.ch="b";
C.ch='\x61'+3;
D.ch='\141';
若有intw=12;,对以下程序段,描述正确的是().
while(w=0)w=w-1;
A.循环是无限循环
B.循环体执行了10次
C.循环体语句执行了一次
D.循环体语句一次也不执行
elsec=-1;
return(c);
}
A.-1
B.1
C.2
D.0
一个C程序的执行是从()。
A.本程序文件的第一个函数开始,到本程序main函数结束
B.本程序的main函数开始,到main函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
下面判断正确的是()。
A.char*a="china";等价于char*a;*a="china";
B.charstr[10]={"china"};等价于charstr[10];str[]={"china"};
C.charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
D.char*s="china";等价于char*s;s="china";
以下所列的函数定义中,正确的是()
A.voidplay(aasint,basint)
B.voidplay(inta,intb)
C.voidplay(a:
int,b:
int)
D.voidplay(inta,b)
若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。
A.&a[0][1],3
B.非法,2
C.&a[1][0],2
D.a[0][0],4
以下叙述中正确的是
A.C语言的每条可执行语句最终都将被转换成二进制的机器指令
B.C语言的函数不可以单独进行编译
C.C语言的源程序不必通过编译就可以直接运行
D.C语言的源程序经编译形成的二进制代码可以直接运行
以下程序的输出结果为()。
main()
{inta=1,b=2,c=3,d=4,e=5;
printf("%d\n",func((a+b,b+c,c+a),(d+e)));
}
intfunc(intx,inty)
{
return(x+y);
}
A.15
B.9
C.函数调用出错
D.13
设有以下语句,若0 charstr[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; intj; for(j=0;j<4;j++) strp[j]=str[j]; A.*strp B.strp[k] C.str[k] D.strp 对用C语言编写的代码程序,以下叙述中哪个是正确的 A.是一个源程序 B.可立即执行 C.经过编译解释才能执行 D.经过编译即可执行 一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是 A.可行性 B.有穷性 C.有零个或多个输出 D.有零个或多个输入 设变量定义为"inta,b;",执行下列语句时,输入_____,则a和b的值都是10. scanf("a=%d,b=%d",&a,&b); A.a=10b=10 B.1010 C.10,10 D.a=10,b=10 以下叙述不正确的是()。 A.C程序的基本组成单位是函数 B.在C程序中,注释说明只能位于一条语句的后面 C.一个C源程序必须包含一个main函数 D.一个C源程序可由一个或多个函数组成 若有说明: inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。 A.3 B.4 C.无确定值 D.2 C语言的if语句嵌套时,if与else的配对关系是()。 A.每个else总是与它上面的最近的if配对 B.每个else总是与最外层的if配对 C.每个else总是与它上面的if配对 D.每个else与if的配对是任意的 函数的形式参数隐含的存储类型说明是()。 A.static B.register C.extern D.auto 若想将一个字符数组a的内容存入另一个字符数组b中,下列正确的是: A.strcat(b,a); B.b=a; C.strcpy(b,a); D.strcpy(a,b); 以下叙述不正确的是()。 A.在C程序中,注释说明只能位于一条语句的后面 B.一个C源程序必须包含一个main函数 C.一个C源程序可由一个或多个函数组成 D.C程序的基本组成单位是函数 以下程序的输出结果是 main() {intx,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d“,x); } printf(“\n”); } 若inta=2,则执行完表达式a-=a+=a*a后,a的值是 A.0 B.-2 C.-8 D.-4 参加位运算的数据可以是任何类型的数据。 f 十进制数15的二进制数是1111.t 语句scanf("%7.2f",&a);是一个合法的scanf函数。 f 若有定义和语句: inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,12.5,则a=10,c='A',f=12.5.t 在C语言中,函数的隐含存储类别是auto.f 参加位运算的数据可以是任何类型的数据。 f 如果想使一个数组中全部元素的值为0,可以写成f inta[10]={0*10}; while和do…while循环不论什么条件下它们的结果都是相同的.f 若有定义: inta=15,b=240;则表达式((a&b)&b||b)的结果为1。 t 如果想使一个数组中全部元素的值为0,可以写成 inta[10]={0*10};t /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 输入一个字符串,过滤此串,只保留串中的字母字 符,并统计新生成串中包含的字母个数。 例如: 输入的字符串为ab234$df4,新生成的串为abdf。 ------------------------------------------------*/ #include #include #defineN80 voidbky(); fun(char*ptr) { /**********Begin**********/ /**********End**********/ } main() { charstr[N]; ints; printf("inputastring: ");gets(str); printf("TheorigINalstringis: ");puts(str); s=fun(str); printf("Thenewstringis: ");puts(str); printf("Thereare%dcharINthenewstring.",s); bky(); } voidbky() { FILE*IN,*OUT; charsin[N]; intiOUT; IN=fopen("in.dat","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..itMayBeChanged"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..itMayBeChanged"); } fscanf(IN,"%s",sin); iOUT=fun(sin); fprintf(OUT,"%d%s\n",iOUT,sin); fclose(IN); fclose(OUT); } 【参考代码】 inti,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); =============== 【考生代码】 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 编制统计营业员一天的营业额的程序,设程序采用一个循环 实现,每次循环输入一笔交易金额并累计营业额。 由于营 业员一天完成的交易次数是不确定的,为此以最后附加输 入一笔0或负数交易额作为交易金额已全部输入结束的标志。 有以下统计营业员一天营业额的算法: 统计营业员一天营业额 { 营业额清0; 输入第一笔交易额; while(交易额>0.0) { 累计营业额; 输入下一笔交易额; } 输出营业额; } 记一笔交易额为变量sale,营业额为sigma。 ------------------------------------------------------*/ #include voidmain() { /**********ERROR**********/ floatsale,sigma sigma=0.0; printf("Entersaledata.\n"); /**********ERROR**********/ scanf("%f",sale); while(sale>0.0) { /**********ERROR**********/ sigma+==sale; printf("Enternextsaledata(<=0tofinish).\n"); scanf("%f",&sale); } printf("Sigmaofsaleis%.2f\n",sigma); } ============================================================ 【改错3】错误 【学生答案】 sigma+==sale; 【参考答案】 sigma+=sale; sigma=sigma+sale; ============================================================ /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目: 统计数组中奇数元素之和并作为返回值传回主函数,并统计奇数元素的个数。 程序中共有4条错误语句,请改正错误。 -------------------------------------------------------- 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include intN; intsum(intb[],intm) {inti,s=0; /***********ERROR***********/ for(i=0;i /***********ERROR***********/ if(b[i]%2)s=s+b[i];N++; /***********ERROR***********/ returnN; } main() {inta[10]={1,5,8,2,7,9,11,45,12,58}; ints; /***********ERROR***********/ s=sum(a); printf("奇数和是: %d\n",s); printf("奇数个数是: %d\n",N); } 【改错1】错误 【学生答案】 for(i=0;i 【参考答案】 for(i=0;i for(i=0;i<=m-1;i++) ============================================================ 【改错2】错误 【学生答案】 if(b[i]%2)s=s+b[i];N++; 【参考答案】 if(b[i]%2){s=s+b[i];N++;} ============================================================ 【改错3】错误 【学生答案】 returnN; 【参考答案】 returns; return(s); ============================================================ 【改错4】错误 【学生答案】 s=sum(a); 【参考答案】 s=sum(a,10); /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 先将在字符串s中的字符按正序存放到t串中,然后把s中的 字符按逆序连接到t串的后面。 例如: 当s中的字符串为: “ABCDE”时,则t中的字符串应为: “ABCDEEDCBA”。 ------------------------------------------------------*/ #include #include #include voidfun(char*s,char*t) { inti,sl; sl=strlen(s); /**********ERROR**********/ for(i=0;i t[i]=s[i]; for(i=0;i /**********ERROR**********/ t[sl+i]=s[sl-i]; /**********ERROR**********/ t[sl]='\0'; } main() { chars[100],t[100]; printf("\nPleaseenterstrings: ");scanf("%s",s); fun(s,t); printf("Theresultis: %s\n",t); } 【改错1】错误 【学生答案】 for(i=0;i 【参考答案】 for(i=0;i<=sl;i++) ============================================================ 【改错2】错误 【学生答案】 t[sl+i]=s[sl-i]; 【参考答案】 t[sl+i]=s[sl-i-1]; ============================================================ 【改错3】错误 【学生答案】 t[sl]='\0'; 【参考答案】 t[sl+i]='\0'; /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 打印出如下图案(菱形) * *** ***** ******* ***** *** * -------------------------------------------------------*/ #include main() { inti,j,k; /***********FILL***********/ for(i=0;_____;i++) { for(j=0;j<=4-i;j++) printf(""); /***********FILL***********/ for(k=1;k<=_____;k++) printf("*"); printf("\n"); } /***********FILL***********/ for(_____;j<3;j++) { for(k=0;k printf(""); for(k=0;k<5-2*j;k++) printf("*"); printf("\n"); } } 【空1】错误 【学生答案】 for(i=0;_____;i++) 【参考答案】 i<=3 i<4 3>=i 4>i ============================================================ 【空2】错误 【学生答案】 for(k=1;k<=_____;k++) 【参考答案】 2*i+1 i*2+1 1+2*i 1+i*2 ============================================================ 【空3】错误 【学生答案】 for(_____;j<3;j++) 【参考答案】 j=0 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 用函数调用方式,实现字符串的连接并输出。 -------------------------------------------------------*/ #include voidstring_join(charstr1[],charstr2[]) { inti=0,j=0; /***********FILL***********/ while(str1[i]! ='\0')_____; for(;str2[j]! =0;j++) /***********FILL***********/ str1[i++]=_____; str1[i]=0; } main() { staticcharstr1[20]="Iam"; charstr2[20]="ateacher."; /***********FILL***********/ string_join(_____); /***********FILL***********/ printf("str1=_____\n",str1); } 【空1】错误 【学生答案】 while(str1[i]! ='\0')_____; 【参考答案】 i++ ++i i=i+1 i+=1 i=1+i ============================================================ 【空2】错误 【学生答案】 str1[i++]=_____; 【参考答案】 str2[j] ============================================================ 【空3】错误 【学生答案】 string_join(_____); 【参考答案】 str1,str2 ============================================================ 【空4】错误 【学生答案】 printf("str1=_____\n",str1); 【参考答案】 %s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 说明 语句