自考“C语言程序设计”模拟试题四
一、单项选择题
1. 运算符___________的优先级更高。
A.[ ] B. += C. : D.++
2.main( )
{ int n;( n=6*4,n+6),n*2;printf(“n=%d\n”,n);}
此程序的输出结果是______________.
A.30 B. 24 C. 60 D. 48
3.若有如下定义,则__________是对数组元素的正确的引用。。
int a[10] ,*p ; p=a ;
A. *&a[10] B. a[11] C. *(p+11) D. *p *p *p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A. 0 B. 4 C. - 4 D. 2
5.各种基本数据类型的存贮空间正确的长度排列为__________.
A.Char<long<int<float<double B.Double<float<long<int<char
C.Char<int<long<float<double D.Float<int<long<char<double
6.下面的变量说明中_____________是正确的。
A.char:a,b,c; B.char a; b; c;
C.char a, b, c; D.char a, b, c
7.表达式y=(13>12?15:6>7?8:9)的值为____________ .
A 9 B 8 C 15 D. 1
8.若x=5,y=3 则y*=x+5; y的值为_______________.
A. 10 B. 20 C. 15 D. 30
9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________.
A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)
C.(a+b>0) &&(a+b<=0) D. a*b>0
10.C语言中,合法的字符型常数是_________.
A.‘A’ B.“A” C. 65 D. A
11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________.
A.6 B.0 C.2 D.1
12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______.
A.‘a’<=c<=‘z’ B. (c>=‘a’) || (c<=‘z’)
C.(‘a’<=c) and (‘z’>=c) D. (c>=‘a’) && (c<=‘z’)
13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______.
A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x)
C.printf(“x=%8dl\n”,x) C.printf(“x=%D\n”,x);
14.从循环体内某一层跳出,继续执行循环外的语句是:___________.
A. break语句 B.return语句 C.continue语句 D.空语句。
15.C语言用_______表示逻辑“真”值。
A.true B.t或y C.非零整型值 D.整型值0
16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。
A.缩排位置相同的if B.在其之前未配对的if
C.在其之前未配对的更近的if D.同一行上的if
17.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态 B. 外部 C.自动 D. 寄存器
18.C语言中以只读方式打开一个文件应选择_______________参数。
A.“r” B.“w” C.“rb” D.“a”
19.设有数组定义:char array[]=“student”;则数组所占的存贮空间为__________.
A.6个字节 B. 7个字节 C. 8个字节 D. 9个字节
20.根据C语言的语法规则,下列________个是不合法标识符。
A.do B. Name C. R5 D. _exam
二、判断题
1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )
2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )
3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )
4.表达式 0195 是一个八进制整数。( )
5.Continue语句的作用是结束本次循环。( )
6.Extern变量的生命期是整个程序执行期。 ( )
7.C语言中字符串的结束符是‘\0’。 ( )
8.利用fclose函数关闭已打开的文件。 ( )。
9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( )
10.数组名代表数组的首地址。( )
三、填空
1.C语言的预处理语句以__________开头。
2.表达式7+10>2 && 25 %5的结果是_______________________.
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch; Ch=getchar( );
While( __________________ )
{ if ( ________________ ) n++; c=getchar( );}
4.C语言中getchar() 函数的功能是__________.
5.int *p 的含义是_____________________.
6.定义fp为文件型指针变量的定义方法为___________.
7.数组 int a[3][3];共定义了____________个数组元素。
四、读程序。
1. 改正下列程序中不正确的语句。
main( )
{ int a;
scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }
2.写出下列程序的运行结果。
fun(int a, int b)
{ if(a>b) return (a);
Else return (b); }
main()
{ int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z); printf(“%d\n”,r); }
3. 改正下列程序中不正确的语句。
main()
{ int n ;
float s=1.0;
for(n=10;n>1;n- -)
s=s+1/n;
printf(“%6.1f\n”,s); }
4. 写出下列程序的运行结果。
main()
{ int n;
For(n=3; n<=10; n++)
{ if(n%6= =0) break; Printf(“%d”,n); } }
5.写出下列程序的运行结果。
#include “stdio.h”
Main()
{ int a[]={1,2,3,-4,5};
int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4);
printf(“%d %d %d ”,*p,m,n); }
五、编程
1.编程计算下列表达式:s=n!(n从键盘上输入)
2.输出1—100之间不能被12整除的数。
3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。
4.从键盘上输入9个数,按3行3列的格式输出。
5.编程将文件read.txt中的字符读出显示到屏幕上。