当前位置:首页 > c语言模拟试题(3)
模拟试题二
一. 选择填空(选择一个正确答案,将其对应字母填在横线上)(25分) 1.C程序中,unsigned int x;定义的变量取值范围为 ; A:0~255 B:0~65535 C:0~32767 D:0~2147483647 2.C语言中,正确的字符与字符串表示方式为 ;
A: char a=?a?,b=“abc”; B:char a=?a?,b[]= “abc”; C: char a=“a”,b[]=“abc”; D:char a=?a?,b[2]= “abc”;
3.若a是float型变量,b是int型变量,以下输入语句合法的是 ; A:scanf(“o%f”,&a,&b) B:scanf(“?%d”,&a,&b) C:scanf(“m%d”,&a,&d) D:scanf(“o%c”,&a,&d) 4.如果i=1,执行j=++i;k=i++;其j、i和k的值是 ; A:2,2,2; B:1,2,3 ; C:1,1,1; D:2,3,2
5.在if(条件)语句执行时,当条件为 时C语言认为是“真”; A:TRUE; B:. T . C:0 D:非零值
6.如果int a[4]={1,2,3,4},*p=&a[2];执行p++;其*p+a[0]的值为 ; A:2 B:3 C:4 D:5
7.设int a,b,c; 且a=10;b=4;a/=b;则表达式(a/b?b+a:b-a)之值是 ; A:0 . 5 B:6; C:2; D:-2
8.对于int a[10];正确的赋值语句是 __ ;
A:*(a+2)=4; B:a=6; C:a+2=4; D:*(a+15)=4;
9.设int x,a,b,c;计算表达式x=(a=4,b=16,c=32)后,x的值是 ; A:4 B:16 C:32 D:52
10.对于int a[ ][3]={1,2,3,4,5,6, 7, 8, 9,10}说明语句, 且有:数据元素a[1][2]+a[3][1]的值为_________; A:15 B:16 C:8 D:6 11.int n=97; switch(n/10-4)
{ case 2: n=n+1; case 3: n=n*2; case 5: n=n-2;
case 7: n=n+3;break; default: n=n/2; }
n的正确结果值是________ A:95 B:96 C:97 D:98
12.已知int i=j=2; char *a=\ 执行c=*(a=a+3);c的值是__________。 A.‘b’ B:‘c’ C:‘d’ D:‘e’ 13.阅读下列程序,结果是 main()
{ int a=5,b=0,c=0;
if(a=b+c) printf(\
else printf(\ }
A:语法有错误,不能编译 B:输出 *** C:通过编译,但不能连接 D:输出 ### 14.for( ;3 ; );代表的意义是 ;
A:死循环 B:不循环 C:循环3次 D:语法错误
15.对于表达式53/2&&!0和!(15>3||5<6-8)的逻辑值,分别是 ; A:0,1 B:1,0 C:0,0; D:1,1
16.有时需要使几种不同类型的变量存放到在一起,形成一个变量,这种变量,称为 ; A:结构体变量 B:字符变量 C:整型变量 D:实数变量
17.设char w; int x; float y; double z;表达式w*x+z-y的值的数据类型为 A:char B:int C:float D:double 18.有以下程序段C
FILE *fp;
fp=fopen(“a1”,“r”); 其表示为
A:定义了一个普通指针,函数值给指针赋值。 B:定义了一个文件a1 C:打开一个文件,该文件可读可写 D:打开一个文件,该文件只能读不能写 19.下面对数组的定义正确的是
A: int n=10; int array[n]; B: int array(10); C: int n; scanf(“%d”,&n); int array[n]; D: int n; int array[n]; scanf(“%s”,array);
20.下面各语句行中,能正确进行赋字符串操作的语句行是
A: char s[4][5]=\,\; B:char s[5]={?a?,?b?,?c?,?e?,?f?}; C: char *s; s=\; D:char s[5]; s=\; 21. 在一个C语言程序构成中,较完整的描述是
A: 由主程序与子程序构成 B: 由多个主函数与多个子函数构成 C: 由主函数与子函数构成 D: 由一个主函数与多个子函数构成 22. C语言在程序开始执行时,其正确的描述是
A: 由编写程序语句的顺序格式执行 B: 在主函数main()开始处执行 C: 在第一个子函数处执行 D: 由人随机选择执行 23. 下列有关函数错误的描述是
A: C语言中允许函数嵌套定义 B: C语言中允许函数递归调用 C: 调用函数时,实参与形参的个数、类型需完全一致 D: C语言函数的缺省数据类型是int类型 24. 在C语言中,函数的返回值的类型是由
A: 在程序编译时决定 B: 由调用该函数的主调函数所决定
C: 由return的表达式的类型所决定 D: 由定义该函数时指定的函数类型所决定 25.当调用函数时,如果实参是一个数组名,则向函数传送的是 A: 数组的首元素 B: 数组的首地址
C: 数组每个元素的地址 D: 数组每个元素中的值
二.读下列程序,给出程序的运行结果(30分) 1.main()
{ int i,j,m,n;
i=5; j=6; n=10; m=++i; n/=j++;
printf(“m1=%d n1=%d”,m,n); m=i++; n=++j;
printf(“m2=%d n2=%d”,m,n);
}
结果:m1= n1= m2= n2= 2.main()
{ int a[20],b=1;
for (a[0]=b;b<=10;b+=2) { a[b]=b;
if (b>7) break;
b++; }
printf(“a=%d”,a[b]); }
结果:a= 3.
#include “stdio.h” main ( ) { char ch; scanf(\
if(ch>=?B? && ch
输入 M, 运行结果为:______; 输入 b, 运行结果为:______ 4.
main (){ int a[3][3]={1,2,3,4,5,6,7,8,9}; int *p1=&a[1][2],*p2=a+2; printf(\ *p1, *p2);
printf(\ }
输出为: 5.
main ( ) { int i;
char *p,b[10]; p=“abcde”;
for(i=0;i<3;i++) { b[i]=*p; p++; } b[i]= '\\0'; printf(“%s”,b); }
输出为:b= 6.
#include \ int fun(int x) { int y=0;
static z=3; y++; z++;
return (x+y+z); }
main()
{ int a=2,i;
for(i=0;i<3;i++)
printf(\ }
结果为: 。
三.填空题(25分)
1.如果p是一个指针,那么*&p表示的含义是 ,而&*p表示的含义是 。 2.已知数组s为一有8个单元的整型数组,下面的语句的语句试图求出这8个单元的平均值,并用ave保存这个值;请补充完整下面的语句。 int j,s[ ]={1,2,3,4,5,6,7,8},sum= ; for( ; ; j++) ; ave= /8;
3.变量在程序使用中,其作用域可分为 变量和 变量。
4.打印如下图案,选择合适的句子填入该程序空格中。 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#include
for (j=0;j<7-i;j++) printf(“ ”); for (k=0;________;k++) printf(“0”); printf(“\\n”); }
main() { int i;
for (i=0;i<3;i++) _________; for (i=3;i>=0;i--) _________; }
5.用选择法对数组为n个整数进行由大到小排序,选择合适的句子填入该空格中。 #defin N 100 main()
{ int i,a[N],n;
共分享92篇相关文档