c语言模拟题目第十四套.docx
《c语言模拟题目第十四套.docx》由会员分享,可在线阅读,更多相关《c语言模拟题目第十四套.docx(18页珍藏版)》请在冰豆网上搜索。
c语言模拟题目第十四套
第十四套
已知字母A的ASCII码为十进制数65,且c为字符型,则执行语句c='A'+'6'-'3';后,c中的值为:
().
A、c
B、不确定的值
C、d
D、D
【参考答案】错误
D
【学生答案】
[未答此题]
已知下面的程序段,若使得i=10,j=15,x=9.6,y=81.73正确的输入语句是().
main()
{inti,j;
floatx,y;
A、scanf("%d,%d",&i,&j);scanf("%f,%5.2f",&x,&y);
B、scanf("%d,%d",&i,&j);scanf("%e,%5.2f",&x,&y);
C、scanf("%d,%d",i,j);scanf("%f,%f",&x,&y);
D、scanf("%d,%d",&i,&j);scanf("%f,%f",&x,&y);
【参考答案】错误
D
【学生答案】
[未答此题]
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与()配对。
A、其之前最近的未配对的if
B、其之后最近的if
C、同一行上的if
D、缩排位置相同的if
【参考答案】错误
A
【学生答案】
[未答此题]
C语言的if语句中,用作判断的表达式为()。
A、任意表达式
B、算术表达式
C、逻辑表达式
D、关系表达式
【参考答案】错误
A
【学生答案】
[未答此题]
以下正确的描述是().
A、只能用continue语句来终止本次循环
B、switch语句中不能出现continue语句
C、在循环中break语句不能独立出现
D、goto语句只能用于退出多层循环
【参考答案】错误
A
【学生答案】
[未答此题]
从循环体内某一层跳出,继续执行循环外的语句是()。
A、continue语句
B、空语句
C、break语句
D、return语句
【参考答案】错误
C
【学生答案】
[未答此题]
以下对二维数组a的正确说明是()。
A、inta[3][]
B、floata(3,4)
C、floata(3)(4)
D、doublea[1][4]
【参考答案】错误
D
【学生答案】
[未答此题]
以下程序的输出结果是().
voidfun(inta,intb,intc)
{a=456;b=567;c=678;}
main()
{intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",z,y,x);}
A、10,20,30
B、678567456
C、30,20,10
D、456567678
【参考答案】错误
C
【学生答案】
[未答此题]
关于宏的下列说法正确的是().
A、宏名必须用大写字母表示.
B、宏定义是特殊的C语句,应在行末加分号.
C、在#defineR4.5中,R代替了常量4.5.
D、可以用#undef命令终止宏定义的作用域.
【参考答案】错误
D
【学生答案】
[未答此题]
若有说明:
inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。
A、*p=*&j;
B、i=**p;
C、i=*p;
D、i=&j;
【参考答案】错误
A
【学生答案】
[未答此题]
C程序的基本组成单位是函数
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
x*=y+8等价于x=x*(y+8)。
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
已知a=1,b=2,c=3,d=4,则条件表达式a>b?
a:
(c>d?
c:
d)的值为4.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
无论哪种循环语句,都必须给出循环结束条件.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
continue语句只能用于循环语句中.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
对静态变量的初始化不是在编译阶段完成的.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
在C语言中,函数名仅仅代表函数的名称,没有任何含义.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
如果字符串与宏名相同,则不管其是否在双括号内,都要进行宏替换.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
若p为指针变量,a为数组名,则a-p是合法的表达式.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
共用体类型可以出现在结构体类型定义中,但结构体类型不能出现在共用体类型定义中.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
执行下列语句后,z的值是_____.intx=4,y=25,z=5;z=y/x*z;
【空1】错误
【学生答案】
[无]
【参考答案】
30
============================================================
当a=3,b=2,c=1;时,执行以下程序段后c=_____.if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;
【空1】错误
【学生答案】
[无]
【参考答案】
2
============================================================
程序段intk=10;while(k=0)k=k-1;循环体语句执行_____次.
【空1】错误
【学生答案】
[无]
【参考答案】
0
============================================================
C语言中,数组名是一个不可变的_____量,不能对它进行加减和赋值运算.
【空1】错误
【学生答案】
[无]
【参考答案】
常量
地址常量
地址
============================================================
若a=1,b=2,c=3,d=4,则表达式a>b?
a:
c>d?
c:
d的值是_____。
【空1】错误
【学生答案】
[无]
【参考答案】
4
============================================================
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
输入一个字符串,过滤此串,只保留串中的字母字
符,并统计新生成串中包含的字母个数。
例如:
输入的字符串为ab234$df4,新生成的串为abdf。
注意:
请在Begin和End注释行之间填写代码,
所有注释语句都不能删除。
------------------------------------------------*/
#include"stdio.h"
#include"conio.h"
#defineN80
voidmain()
{
charstr[N];
intfun(charptr[]);
voidTestFunc();
ints;
printf("inputastring:
");gets(str);
printf("Theoriginalstringis:
");puts(str);
s=fun(str);
printf("Thenewstringis:
");puts(str);
printf("Thereare%dcharinthenewstring.",s);
TestFunc();
}
intfun(charptr[])
{
/*********Begin**********/
/**********End**********/
}
voidTestFunc()
{
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);
===============
【考生代码】
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
输入一行英文文本,将每一个单词的第一个字母变成大
写。
例如:
输入"ThisisaCprogram.",输出为"ThisIsACProgram."。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include"stdlib.h"
#include"string.h"
#include"stdio.h"
#include"conio.h"
/**********ERROR**********/
fun(charp)
{
intk=0;
/**********ERROR**********/
dowhile(*p=='\0')
{
if(k==0&&*p!
='')
{
*p=toupper(*p);
/**********ERROR**********/
k=0;
}
elseif(*p!
='')
k=1;
else
k=0;
/**********ERROR**********/
*p+;
}
}
main()
{
charstr[81];
printf("pleaseinputaEnglishtextline:
");
gets(str);
printf("Theoriginaltextlineis:
");
puts(str);
fun(str);
printf("Thenewtextlineis:
");
puts(str);
}
【改错1】错误
【学生答案】
fun(charp)
【参考答案】
fun(char*p)
fun(charp[])
voidfun(charp[])
voidfun(char*p)
============================================================
【改错2】错误
【学生答案】
dowhile(*p=='\0')
【参考答案】
while(*p!
='\0')
while(*p)
============================================================
【改错3】错误
【学生答案】
k=0;
【参考答案】
k=1;
============================================================
【改错4】错误
【学生答案】
*p+;
【参考答案】
p++;
p=1+p;
++p;
p=p+1;
p+=1;
============================================================
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
计算并输出500以内最大的10个能被13或17整除的自然数之和。
---------------------------------------------------------
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得
出正确的结果。
注意:
不得增行或删行,也不得更改程序的结构!
-------------------------------------------------------*/
#include"stdio.h"
/***********FILL***********/
intfun(_____)
{
intm=0,mc=0,j,n;
/***********FILL***********/
while(k>=2&&_____)
{
/***********FILL***********/
if(k%13==0||_____)
{
m=m+k;
mc++;
}
k--;
}
/***********FILL***********/
_____;
}
voidmain()
{
printf("%d\n",fun(500));
}
【空1】错误
【学生答案】
intfun(_____)
【参考答案】
intk
============================================================
【空2】错误
【学生答案】
while(k>=2&&_____)
【参考答案】
mc<10
10>mc
mc<=9
9>=mc
============================================================
【空3】错误
【学生答案】
if(k%13==0||_____)
【参考答案】
k%17==0
!
(k%17)
k/17*17==k
============================================================
【空4】错误
【学生答案】
_____;
【参考答案】
returnm
return(m)
============================================================