安徽中医药大学2022年C语言预测卷

本试卷为安徽中医药大学2022年C语言预测卷,题目包括:单项选择题,判断题,编程题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。

C语言预测卷

一、单项选择题 (共20题,每题2分,共计40分)

(  B  )
1、下面实现换行功能的格式符为________。
A、\t
B、\n
C、\a
D、\k
(  D  )
2、b等于( )
A、1000字节
B、1024字节
C、1000×1000字节
D、1024×1024字节
(  A  )
3、在 c 语言中,当函数调用时 。
A、实参和形参各占一个独立的存储单元
B、实参和形参共用存储单元
C、可以由用户指定实参和形参是否共用存储单元
D、由系统自动确定实参和形参是否共用存储单元
(  D  )
4、若有说明int a[3][4]; 则a数组元素的非法引用是________。
A、a[0][2*1]
B、a[1][3]
C、a[4-2][0]
D、a[0][4]
(  B  )
5、c语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是________。
A、void
B、int
C、float
D、double
(  D  )
6、在下面的字符数组定义中,哪一个有语法错误 。
A、char a[20]=“abcdefg”;
B、char a[]=“x+y=55.”;
C、chara[15];
D、char a[10]=‘5’;
(  D  )
7、下列哪个赋值语句是正确的
A、char a=12;
B、int a=12.0;
C、int a=12.0f;
D、int a= (in12.0;
(  C  )
8、运行下面程序时,从键盘输入字母a,则输出结果是________。
#include<stdio.h>
main()
{
char ch;
ch=getchar();
switch(ch)
{
case'a':printf("aaaa\n");
case'b':printf("bbbb\n");
default:printf("cccc\n");
}
}
A、AAAA
B、AAAA BBBB
C、AAAA BBBB CCCC
D、AAAA CCCC
(  A  )
9、有以下程序:
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10,p++)printf("%d,",*p);
}
程序运行后的输出结果是________。
A、1,234,5,6,7,8,9,0,
B、2,3,4,5,6,7,8,9,10,1,
C、01,23,4,5,6,7,8,9,
D、1,1,1,1,1,1,1,1,1,1,
(  C  )
10、下列程序的输出结果是______。 int fun(int x,int y,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
int a, b, c, d;
a=30;
b=50;
fun(a,b,&c,&d);
printf("%d,%d\n", c, d);
}
A、50,30
B、30,50
C、80,-20
D、80,20
(  A  )
11、以下程序的运行结果是
#include"stdio.h"
main()
{
struct date {
int year, month, day ;
} today;
printf("%d\n",sizeof(struct date));
}
A、6
B、8
C、10
D、12
(  B  )
12、有以下程序
#include<stdio.h>
main()
{
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++) if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n", n);
}
程序运行后的输出结果是______。
A、0
B、3
C、7
D、8
(  C  )
13、有以下程序
main()
{
union
{
unsigned int n;
unsigned char c;
}
ul;
ul.c='a';
printf("%c\n",ul.n);
}
执行后输出结果是______。
A、产生语法错
B、随机值
C、A
D、65
(  B  )
14、c语言中,数组名代表________。
A、数组全部元素的值
B、数组首地址
C、数组第一个元素的值
D、数组元素的个数
(  C  )
15、以下程序的输出结果是 _______ 。
main( )
{
int i=0,s=0;
for (;;)
{
if (i==6) break;
i++;
s+=i;
}
printf("%d\n",s);
}
A、10
B、15
C、21
D、死循环
(  C  )
16、调试程序是指对程序进行
A、编辑
B、编译
C、查错和排错
D、连接
(  A  )
17、两个指针变量不可以________。
A、相加
B、比较
C、相减
D、指向同一地址
(  B  )
18、c语言中,定义结构体的保留字是________。
A、union
B、struct
C、enum
D、typedef
(  B  )
19、若 x=2,y=3 则 x||y 的结果是
A、0
B、1
C、2
D、3
(  A  )
20、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
A、****
B、%%%%
C、%%%%C
D、有语法错,不能执行

二、判断题 (共10题,每题2分,共计20分)

(   F  )
1、在c语言中,引用数组元素时,数组下标的数据类型只能是整型常量。 ( ) 
(   T  )
2、关系表达式的值是一个逻辑值,即"真"或"假",并且用0表示"假",用1表示"真"。 
(   T  )
3、break语句不能跳出多层循环。 
(   T  )
4、定义变量或函数时,当数据的存储类别缺省时,其存储类别为auto。 
(   T  )
5、c语言中sizeof为运算符。 
(   T  )
6、c语言中简单变量作为实参时,它和对应的形参之间的数据传递方式是单向值传递。 
(   F  )
7、c语言对文件读、写之前不必先打开文件,在使用文件之后无需关闭该文件。 
(   T  )
8、在所有的关系运算符(>=、>、==、!=、<=、<)中,优先级最低的运算符是"==、!="。 
(   F  )
9、用puts和gets函数可以输入或输出多个字符串。 
(   T  )
10、如果函数定义出现在函数调用之前,可以不必加函数原型声明 

三、编程题 (共3题,每题0分,共计40分)

1、编写程序:打印出杨辉三角形(要求打印出10行)。
结构如下所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
......
2、编写程序:创建一个长度为n的链表,然后反向输出该链表。
3、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的字符。