2024年上学期《c语言》期中试题。
考试得分 9选择题h请选择一个或多个正确选项,2分×20=40分)
1、以下程序的执行结果为___
float fun(int x,int y)
main()
int a=2,b=5,c=8; printf("%0f",fun((int)fun(a+b,c),a-b));
a.-24 b.24 c.-168d.168
2、以下程序运行后的输出结果是___
int f(int x);
main()
int f(int x)
a.1 b.2 c.4 d.8
3.以下程序的运行结果是___
int a=1;
int f(int c)
main()
int i,k=0; for(i=0;i<2;i++)
k+=a; printf("%d",k);
a.13 b.14c.15d.16
4.以下程序的输出结果是___
#define f(x) x*x
void main()
a.9b.18 c.36 d.6
5.以下结构体的定义语句中,正确的是___
student ;stu;
student; struct student stu;
student stu;
student ; student stu;
6.如有定义的枚举类型:enum week_dayeveryday;
则,mon的值为___
a.1b. 2c. 8d. 5
7.有如下定义的结构体类型:
struct data workday;
对其中成员month的正确引用方式是___
8.有如下的说明:union test test1;
在vc环境下int占4个字节,char占1个字节,则sizeof(union test) 的结果是___
a.4b.2c.5d.3
9.变量的指针,其含义是指该变量的___
a.值b.地址 c.名 d.一个标志。
10.下面能正确进行字符串赋值操作的是___
s[5]=;
*s; s=" s; scanf("%s",&s);
11.设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是___
str=string" ;c="%s",c
string";
12.下列语句中,正确的是___
*s;s=" s[7];s="olympic";
*s;s=;
13.已有定义int k=2; int *p1,*p2; 且p1和p2均已指向变量k,下面不能正确执行的赋值语句是___
14.若有定义:double a[10],*s=a;,以下能够代表数组元素a[3]的是___
a.(*s)[3b.*(s+3c.*s[3d.*s+3
15.若有定义int a[5],*p=a;,则对a数组元素的正确引用是___
a.*&a[ c.*(p+5) d.*(a+2)
16.设有定义语句:int m=k=m;,以下选项中表达式的值为6的是___
a.*(k+
17.程序段char *s="abcde"; s+=2; printf("%d",s);的运行结果是___
字符'c' c.字符'c'的地址 d.无确定的输出结果。
18.下面程序段的运行结果是___
char str=abc", p=str; printf("%d",*p+3));
a.67 b.0 c.字符'c'的地址 d.字符'c'
19.下面程序段的运行结果是___
char a=language", p; p=a;
while(*p!='u')
20.若有定义char s[10]; 则在下面表达式中不表示s[1]的地址的是___
二、判断题( 2分×10=20分)
21、如果某个函数在定义时省略了存储类型,则默认的存储类型是int。(
22、函数中的多个return语句,可以实现调用该函数后,多个值同时被返回。
23、在c语言中,除了main()函数外,其余所有的函数都能够被调用。
24、结构体变量所占用空间是全部成员占用空间之和。
25、共用体可以作为结构体的成员,但结构体不能作为共用体的成员。
26、结构体中各个成员的数据类型必须是相同的。
27、typedef的作用是给数据类型取一个别名。
28、运算符“*”有时是单目运算符,有时又可能是双目运算符。
29、 取地址运算符“&”与指针运算符“*”的优先级相同,结合方向为自右向左。
30、函数rewind()的作用是位置指针返回移动前的位置。
三、程序分析题(本大题共3小题,共90分)
31、阅读程序,写出运行结果。(第空5分,共25分)
1)下列程序的运行结果是。
#include <>
int fun()
static int x=1;x*=2;return x;}
main()
int i,s=1;for(i=1;i<=4;i++)s*=fun();printf(“%d”,s);}
2) 下列程序的运行结果是。
#include <>
main()
struct a
int x;int y;
num[2]=,
printf("%d",num[0].x/num[0].y*num[1].y);
3) 下列程序的运行结果是。
void fun(int *p)
main()
int a[10]=;
fun(&a[3]);
4) 下列程序的运行结果是。
main()
file *fp; int i=20,j=30,k,n;fp=fopen(""w");
fprintf(fp,"%d",i);fprintf(fp,"%d",j);fclose(fp);
fp=fopen(""r");fscanf(fp,"%d%d",&k,&n);printf("%d %d",k,n);fclose(fp);
5) 下列程序的运行结果是。
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...