(本大题共20小题.每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.CPU处理数据和指令的基本单位是字(Word),规定一个字的字长是( )
A.8bits
B.16bits
C.32bits
D.与CPU型号有关的bit位数
2.Windows操作系统是( )
A.单用户、单任务
B.单用户、多任务
C.多用户、单任务
D.多用户、多任务
点击进入:自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
3.下面不正确的C语言标识符是( )
A.ABC
B.abc
C.a_bc
D.ab_C
4.下面几种运算符中,优先级最低的是( )
A.﹥=
B.!
C.&&
D.||
5.若有下面程序段,欲使a=2,b=3,对应正确的数据输入方法是(其中﹤CR﹥表示换行)int a,b;scanf('a=%d b=%d',&a,&b);( )
A.2﹤CR﹥
B.a=2 b=3﹤CR﹥
C.a=2,b=3﹤CR﹥
D.2,3﹤CR﹥ 3﹤CR﹥
6.下面程序段的输出结果是( )main(){int a=2,b=5;printf('a=%%d,b=%%d',a,b);}
A.a=2,b=5
B.a=2%,b=5%
C.a=%2,b=%5
D.a=%d,b=%d
7.下面程序段的输出结果是( )main(){int a=100,b=200,c=150,d;(d=(a﹥b)?a:b)﹥c?d:c;printf('%d ',d);}
A.0
B.100
C.150
D.200
8.下面程序段所表示的逻辑关系是( ) if(a﹤b) {if(c==d) x=1;} else x=2;
9.下面正确的循环语句是( )
A.for(i=1,i﹤=10,i+);
B.for(i=1;i﹤=10;i+);
C.for(i=l:i﹤=10:i++);
D.for(i=1 i﹤=10 i++);
10.执行下面程序段后,变量sum的值是( )sum=0;i=1;do{i++;sum+=i;}while(i﹤5);
A.0
B.5
C.14
D.15
11.下面能接收字符串的输入函数是( )
A.gets
B.puts
C.getchar
D.putchar
12.下面程序段的输出结果是( )main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf('%d ',a[0][2*4+1]);}
A.5
B.6
C.9
D.10
13.如果在一个函数中的复合语句中定义了一个变量,下面正确的说法是( )
A.该变量只在所定义的复合语句中有效
B.该变量只在所定义的函数中有效
C.该变量在本程序中有效
D.该变量定义属非法定义
14.下面程序的运行结果是( )fun(int a,int b){int r;while(b!=0){r=a%b;a=b;b=r;}return(a);}main(){int n1=18,n2=27,n3=6;printf(“%d ”,fun(n3,fun(n1,n2)));}
A.9
B.6
C.3
D.1
15.将P定义为一个指向整型变量a的指针变量,下面正确的定义是( )
A.int a,*p=&a;
B.int a,*p=a;
C.hat a,p=&a;
D.inta,*p;
16.?下面程序的运行结果是( )void sss(int *p1,int *p2){int p;if(*p1﹥*p2){p=*p1;*p11=*p2;*p2=p;}}main(){int a=8,b=3;sss(&a,&b);printf(“%d,%d ”,a,b);}
A.3,3
B.3,8
C.8,3
D.8,8
17.结构体类型定义符是( )
A.int
B.double
C.struct
D.union
18.若定义了一个结构体和该结构体类型变量,并且定义了指向该结构体类型变量的指针变量,下面不能正确引用结构体变量的成员的是( )
A.结构体变量名.成员名
B.指针变量名.成员名
C.(指针变量名).成员名
D.指针变量名→成员名
19.下面位运算符中,不是单目运算符的是( )
A.~
B.&
C.∣
D.^
20.对已经存在的二进制文件进行只读操作,文件的使用方式应是( )
A.“r”
B.“W”
C.“rb”
D.“wb”
(本大题共5小题.每小题2分.共10分)在每小题列出的五个备选项中有二至五个是符合题目要求的.请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
11.下面等值的数据有( )
A.(11111111)2
B.(377)8
C.(255)10
D.(FF)16
E.(256)10
12.下面能以十进制整数输出的格式说明符有( )
A.%d
B.%x
C.%u
D.%ld
E.%f
13.在下面各说法中,能实现循环的方法有( )
A.利用goto语句和if语句配合可构成循环
B.利用switch语句和if语句可构成循环
C.利用while语句构成循环
D.利用for语句构成循环
E.利用do-while语句构成循环
14.下面各选项中,能使数组S正确得到字符串“abcde”的操作有( )
A.char s[]={‘a’,’b’,’c’,’d’,’e’,’’};
B.char s[10];s=”abcde”;
C.char s[10];strcpy(s,”abcde”);
D.char s[10];getchar(s);
E.char s[10];gets(s);
15.设有int y,x=33;-]r列能使y值为l的有( )
A.y=x﹥﹥5;
B.y:x&3;
C.y=x﹤﹤3;
D.y=x∧x;
E.y=x|5;
(本大题共4小题。每小题4分。共16分)
21.简述C语言中标识符的命名规则;C语言中哪些名是用标识符来标识的?
22.写出if(表达式)语句l else语句2的执行过程。
23.若有下面程序:
问:(1)写出程序的执行结果。(2)main()函数中的变量a和f(int a)函数中的a是同一个变量吗?(3)程序中的局部静态变量是哪一个?
24.若变量x1,x2是已定义和初始化的float型变量,根据下面的问题写出相应的语句。(1)定义指向float型变量的指针变量fptr。(2)使fptr指向x1。(3)用fptr表示,将耻指向变量的值赋予x2。(4)用fptr表示,输出fptr指向变量的值。
(本大题共6小题,每小题5分,共30分)
31.阅读下面程序,写出运行结果
32.阅读下面程序:(1)若输入2,写出程序运行结果;(2)若输入3,写出程序运行结果。
33.阅读下面程序,写出运行结果
34.阅读下面程序,写出运行结果
35.阅读下面程序,写出运行结果
36.阅读下面程序,写出运行结果
(本大题共2小题.每小题12分.共24分)
41.编程求
(即求1/1!+1/2!+...+1/10!),输出计算结果。
42.若在c: clt路径下有一个ASCIl码的数据文件zz.dat,它包括l0个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c: clt路径下ASCII码的数据文件zzz.dat中。编写此程序。
热门推荐:
推荐阅读: