C语言程序设计期末考试模拟试卷
单项选择题
在下列各题的备选项中,请选择一个最符合题意的选项。
- 若有以下程序段
int r=8;
printf("%d\n",r>>1);
输出结果:是( )。
A.4
B.8
C.16
D.2
- 若有以下语句
typedef struct S {
int g;
char h;
} T;
以下叙述中正确的是( )。
A.可用T定义结构体变量
B.可用S定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量
以下选项中,当x为大于1的奇数时,值为0的表达式是( )。
A.x%2==0
B.x/2
C.x%2!=0
D.x%2==1有以下程序
include
define f(x) xxx
main()
{
int a=3,s,t;
s=f(a+1);
t=f((a+1));
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是( )。
A.10,64
B.10,10
C.64,10
D.64,64
char w;int x;float y;则表达式w*x+y-3.14的结果类型是()。
A.float
B.char
C.int
D.Double若执行以下程序时从键盘上输入3和4,则输出的结果是( )。
main()
{
int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a
A.14
B.16
C.18
D.20
- 下面程序的输出结果是( )。
include
define SUB(X,Y) (X)*Y
main()
{
int a=3,b=4;
printf("%d\n",SUB(a++,b++));
}
A.12
B.15
C.16
D.20
- 指针s所指字符串的长度为( )。
char *s="\abc\\n";
A.9
B.7
C.6
D.说明不合法
- 对于以下的变量定义,表达式( )不符合C语言语法。
struct node {
int len;
char pk;
} x = {2, "right"}, p = &x;
A.p->pk
B.p.pk
C.p->pk
D.*x.pk
- 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A.-1
B.0
C.1
D.3
填空题
请将下列试题的空白处补充完整。
- C语言程序总是从( )函数开始执行。
的C语言表达式( )。
3) 下列程序的输出结果为____。
include
main()
{
int m=8;
if(m--
4) 若有说明int a[3][4]={{1,2}, {0}, {4,6,8,10}},则a数组的元素个数为( )。
5) 己知int a[][3]={1,2,3,4,5,6};,数组元素a[1][1]的值是( )。
6) 有以下程序,执行后输出结果是____。
include
main()
{
unsigned char a,b;
a=4|3;
b=4&3;
printf("%d%d\n",a,b);
}
程序填空题
请将下列程序中的空白处补充完整。
- 本程序中函数fun的功能是将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Ab,cD",则输出"ab,cd"。请将下述程序补充完整(注意:不改动程序的结构,不得增行或删行)。
include
include
include
char 【1】 fun(char tt[])
{
int i;
for(i=0;tt[i];i++)
{
if((tt[i]>='A')&&(tt[i]
2) 以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main( )
{ int x[10],a[9],i;
for (i=0;i
程序改错题
请按要求修改下列程序中的错误。
- 下列给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。例如,若输入“good luck!”,则应输出“Good Luck!”。
请修改程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。
include
include
include
/ found /
void top(char s)
{
int i=0;
for(;s;s++)
if(i)
{
if(s==' ')
i=0;
}
else
{
if(s!=' ')
{
i=1;
s=toupper(*s);
}
}
}
main()
{
char str[81];
printf("\nPlease enter an English text line: ");
gets(str);
printf("\n\nBefore changing:\n %s",str);
top(str);
printf("\nAfter changing:\n %s\n",str);
}
2) 下列给定的程序中,函数fun的功能是交换主函数中两个变量的值。例如,若变量x中的值为1,y中的值为2,则程序运行后x中的值为2,y中的值为1。
请修改程序中的错误,得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。
include
/ found /
void fun(int a,int b)
{
int t;
/ found /
t=a;a=b;b=t;
}
main()
{
int x,y;
x=1;
y=2;
fun(&x,&y);
printf("the result is %d,%d\n",x,y);
}
程序设计题
请按照试题要求,完成规定的程序设计。
编写程序验证歌德巴赫猜想:1000-2000中的每一个偶数都可以表示成两个素数之和。如果此猜想成立,显示"all numbers are OK!;否则显示"n is not OK!",这里n是第一个使猜想不成立的偶数。
编写程序,实现如下功能:
对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如,输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。N名学生的成绩已经在主函数中放入一个带头结点的链表结构中,head指向链表的头结点。请编写程序,它的功能是求出平均分、由函数值返回。
关键字:c
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!