c语言模拟试卷

发布 2021-04-23 11:56:28 阅读 7164

一、选择题。

1、关于c语言数据类型的叙述,正确的是(c)。

a)枚举类型不是基本类型 b)数组不是构造类型

c)变量必须先定义后使用 d)不允许使用空类型。

2、下面关于c语言用户标识符的描述,正确的是(d)。

a)不区分大小写 b)用户标识符不能描述常量

c)类型名也是用户标识符 d)用户标识符可以作为变量名。

3、下面叙述正确的是(b)。

a)2/3与2.0/3.0等价 b)(int)2.0/3与2/3等价

c)++5与6等价d)’a’与”a”等价。

4、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(b)。

a)scanf(“%d”,&ab)scanf(“%lf”,&a

c)scanf(“%c”,&ad)scanf(“%u”,&a);

5、下面叙述中,(a)不是结构化程序设计三种基本结构的共同特点。

a)先判断后执行b)单入口,单出口。

c)程序中没有执行不到的语句 d)无死循环。

6、已知int a=3, b=5; 则表达式 a &&b 的值为(c)。

a)3b)2 c)0d)1

7、已知char a=’r’; 则正确的赋值表达式是(a)。

a)a=(a++)4b)a+2=3 c)a+=256d)a=’\078’

8、以下的语句中,无内嵌的if语句是(b)。

a)if(x= =y) x+=y

b)if(x>y &&x!=y);

x+=y;

c)if(x!=y)

scanf(“%d”,&x);

elsescanf(“%d”,&y);

d)if(x

9、设有整型变量x,下述语句(b)不会出现死循环。

a)for( ;x+=1b)for( ;x=getchar())n

c)while(1) ;b)int a=

12、设有如下数组定义:

char str[8]=;

则分配给数组str的存储空间是(c)字节。

a)6 b)7 c)8d)9

13、以下程序的运行结果是(a)。

int fun(int array[4][4])

int j;

for(j=0;j<4;j++)printf(“%2d”,array[2][j]);

printf(“”);

main()

int a[4][4]=;

fun(a);

a)2 0 0 5b)1 0 0 4 c)0 1 2 0 d)0 4 5 0

14、若有以下宏定义,#define mod(x,y) x%y

则执行以下程序段后,z的值是(d)。

int z,a=15,b=100;

z=mod(b,a);

a)100 b)15 c)11 d)10

15、对于基类型相同的两个指针变量之间,不能进行的运算是(c)。

a) 16、若函数fun的函数头为:

int fun(int i,int j)

且函数指针变量p定义如下:

int (*p)(int i,int j);

则要使指针p指向函数fun的赋值语句是(b)。

a)p=*funb)p=fun; c)p=fun(i,jd)p=&fun;

17、设有以下定义语句:

struct student

int num;

char name[10];

float score;

wang,zhang;

则不正确的叙述是(c)。

a)struct是结构体类型的关键字 b)zhang是结构体变量名

c)wang是结构体类型名d)num,name,score都是结构体类型student的成员名。

18、若有以下定义:

struct link

int data;

struct link *next;

*head,*p;

并已建立如下图所示的链表结构:

head指针p指向如下结点:

p则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(a)。

a)p->next=head->next;head->next=p

b)head->next=p;p->next=head->next;

c)d)(*head).next=p;(*p).next=(*head).next;

19、设有如下定义:

typedef int *integer;

integer p,*q;

则(c)是正确的叙述。

a)p是int型变量b)q是基类型为int的指针变量

c)p是基类型为int的指针变量d)程序中可用integer代替int类型名。

20、以下程序的可执行文件名是。

main()

int argc;

char *ar**;

int i;

for(i=2;i printf(“%s%c”,ar**[i],(i}

在dos命令行输入:file my c language and programming《回车》,其输出结果是(a)。

a)c language and programming b)my c language and programming

c)myclanguageandprogramming d)file my c language and programming

21、在c语言源程序中,以下叙述正确的是(c)。

a)main函数必须位于文件的开头b)每行只能写一条语句

c)程序中的一个语句可以写成多行d)每个语句的最后必须有点号。

22、下面关于算术运算符的叙述,错误的是(a)。

a)其运算对象不包含函数。

b)%(模运算符)的运算对象只能为整型量。

c)算术运算符的结合方向是“自左至右”

d)自加和自减运算符的结合方向是“自右至左”

23、下面叙述中,(a)不是结构化程序设计中的三种基本结构之一。

a)数据结构 b)选择结构 c)循环结构d)顺序结构。

24、已知 double a=5.2; 则正确的赋值表达式是(a)。

a)a+=a-=(a=4)*(a=3b)a=a*3=2

c)a%3d)a=double(-3)

25、逻辑运算符的优先级依次为(c)。

abcd26、对于整型变量x,与while(!x) 等价的是(b)。

a)while(x!=0) b)while(x= =0) c)while(x!=1) d)while(~ x)

27、下列数组声明中,正确的是(a)。

a)int a[10b)int n=10,a[n

c)int n=10;int a[nd)int n;scanf(“%d”,&n);int a[n];

28、有如下定义:

char str[6]=;

则语句:printf(“%s”,str);

的输出结果是(d)。

a)abb)abdefc)ab\0d)ab

29、执行以下程序段的输出结果是(b)。

int a=10,*p=&a;

printf(“%d”,+p);

a)10b)11 c)变量a的地址d)变量a的地址+1

30、若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是(d)。

int i,j,(*p)[3];

int a[3]=;

p=a;a)*(a+i)+jb)p[i][j] c) *p+i) [jd)p[i]+j

31、若有以下定义:

struct link

int data;

struct link *next;

*head,*p;

并已建立如下图所示的链表结构:phead

则能保留链表其它结点,而删除p所指向结点的程序段是(a)。

a)head->next=p->next;free(p

b)head->next=p;p->next=head->next;free(p);

c)free(p);head->next=p;p->next=head->next;

d)free(p);head->next=p->next;

32、假定已有如下变量说明和枚举定义:

char ch;

int j,k;

enum day;

int a[sat]

判断下列语句是否符合语法规则,结果是(c)。

char a语句1 */

j+k=j语句2 */

C语言C模拟试卷

一 选择题 共40分 1 下列运算符中优先级最高的是 2分 ab cd 2 若x,i和j都是整型变量,则计算x i 6,j 40 表达式后,x的值为 2分 a 6 b 46 c 34 d 40 3 以下叙述正确的是 2分 a 在c程序中,main函数必须位于程序的最前面。b c程序的每一行中只能写一...

C语言模拟试卷A

安徽农业大学经济技术学院。c语言程序设计 模拟试卷 a 所有答案写在答题卡上,否则不得分。一 单项选择题 每题1分,共30分 1.以下选项中叙述正确的是 c a c语言程序总是从第一个定义的函数开执行。b 在c语言程序中,被调用的函数必须在main 函数中声明c c语言程序总是从main 函数开始执...

C语言模拟试卷

1 在计算机上可以直接运行的程序是 c 1 a c语言源程序 b 汇编语言程序 c 机器语言程序 d 高级语言程序。2 一个程序总是从 c 开始执行程序。2 a 第一行 b 第一个函数 c 主函数 d 最后一个函数。3 c语言中的函数 c 3 a 嵌套定义和嵌套调用均可 b 可以嵌套定义但不可以嵌套...