c语言等级考试试卷(2024年1月)参***(解题提示)
程序中的红字注释原题目中无,供参考)
一、选择题(40题,每题1.5分,共60分)
1】c语言中的简单数据类型包括 d 。
a)整型、实型、逻辑型b)整型、实型、字符型、逻辑型。
c)整型、字符型、逻辑型d)整型、实型、字符型。
答案:d)整型、实型、字符型。
c2】以下不属于c语言关键字的是 c 。
a)default b) unsigned c) real d) typedef
答案:c) real
3】c语言中合法的字符常量是 a 。
ab)”hello!” c)’hello’ d)a
答案:a)’\
4】以下四组中都能正确作为c语言程序标识符的是组。
a)printfb)sort_1
rowstring_to_float
ifpic) powd) book->name
1_abca#b
答案:b5】c语言的一个源程序中定义的外部变量的作用域为 。
a) 本文件的全部范围b)本程序的全部范围。
c)本函数的全部范围d)从定义该变量的位置开始至本文件结束
答案:d6】以下程序运行结果是 。
main()
int x=1,y=2,z;
z=x>y?++x:++y;
printf("%d,%d,%d",x,y,z);
a) 1,2,3b) 1,3,3
c) 2,3,3d) 2,2,3
答案:b) 1,3,3
7】若float型数据占4个字节,int型数据占2个字节,char型数据点1个字节,以下程序运行结果是 。
main()
struct st_type
union u_type
t;printf("%d",sizeof(t));
a)25 b)12 c)3 d) 22
答案:d) 22
8】在c语言中系统默认的文件类型有 。
a)类型文件和文本文件 b)二进制文件和类型文件。
c)文本文件和二进制文件 d)文本文件和记录文件。
答案:c)文本文件和二进制文件。
9】若已定义int a=5;对以下(1),(2)两个语句的正确解释是 。
(1)int *p=&a; (2)*p=a;
a) 语句(1)和(2)中的*p含义相同,都表示给指针变量赋值。
b) 语句(1)和(2)的执行结果都是把变量a的地址赋给指针变量p
c) 语句(1)是在对p进行定义的同时进行初始化,使p指向a;
语句(2)是将变量a 的值赋给指针变量p
d) 语句(1)是在对p进行定义的同时,使p指向a;
语句(2)是将变量a的值赋给指针变量所指的变量。
答案:d10】若有定义int(*p)[4],则标识符p是一个 。
a) 指向整型变量的指针变量。
b) 指向函数的指针变量。
c) 指向有四个整型元素的一维数组的指针变量。
d) 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针。
答案:c11】以下程序的输出结果是 。
#include <>
float fun(int n)
static float f=1.0;
f*=n;return f;
main()
int i;
float s;
for (i=1;i<=5;i++)s=fun(i);
printf("%8.2f",s);
a)120.00 b) 24.00c) 5.00d) 720.00
答案:a说明】本题实际上是一个求5!的程序。
12】以下程序的输出结果是。
结果: 5,2,3
13】以下对c语言中字符数组的错误描述是 。
a) 字符数组可以存放字符串。
b) 字符数组中的字符串可以整个输入、输出。
c) 可以在赋值语句中通过赋值运算符=对字符数组整体赋值。
d) 字符数组中字符串的结束标志是‘\0’
答案:c14】以下函数的功能对应于 。
int fun(char *s,char *t)
while (*s)&&t)&&t==*s)} 在s和t均未结束且相比较的字符相同时继续循环*/
return(*s-*t如果两个字符相同,返回值为0,否则不为0*/
a)strlen(s)+strlen(t) b)strcmp(s,t)
c)strcpy(s,td)strcat(s,t)
答案:b注意】典型结构:如果s是一个字符串,则下列循环结构从s 的第一个字符开始,依次取出下一个字符,直到字符串结束(即*s等于’\0’为止)。
每次循环中,*s表示这一轮循环中取出的字符。(技巧:用*s作循环条件,当循环到字符串结束处时自动结束循环)
while(*s)
s++}15】已知函数isaplha(ch)的功能是判断自变量ch是否为字母,若是,该函数值为1,否则为0。以下程序的输出结果是 。
#include <>
#include <>
void fun(char str[ ]
int i,j;
for (i=0,j=0;str[i];i++)
if (!isalpha(str[i]))str[j++]str[i注意此处删去不合要求字符的技巧*/
str[j]='0';
main()
char str[100]="current date is sat 12-30-2000.";
clrscr();
fun(str);
printf("%s",str);
a) 12-30-2000b)12302000
c)current date is satd) current date is sat 12-30-2000.
答案:a注意】
1、 同上题while(*s)一样,可以用s[i] 作循环条件,当循环到字符串结束处时自动结束循环。
2、 典型结构:如果s是字符串,则下列结构可以将s中不符合条件的字符删去。
int i,j;
for (i=0,j=0;str[i];i++)
if (条件) str[j++]str[i];
str[j]='0
思考:如果上题中去掉if (!isalpha(str[i]))中的!号,结果是什么?(currentdateissat)
如果将isalpha()函数改为islower、isupper、isdigit,结果是什么? (教材p314-315)
urrentdateisat、cs、12302000)
16】若有定义char *p,ch;则不能正确赋值的语句组是 。
a)p=&chb)p=(char *)malloc(1);
scanf(“%c”,pp=getchar();
c)*p=getchard)p=&ch;
p=&chp=getchar();
答案: c (指针p未指向任何变量就赋值)
17】若有以下定义和语句,且0int i=2,*p,a[ ]
p=a;a)*(a+i) b)a[p-a] c)p+i d)*(a[i])
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 语言的参数传递机制包括传...