语言模拟试题I
CI
精品文档
《C语言程序设计教程 实验与练习》(第二版)模拟试题II及答案
一、 单项选择题(每题2分,30道题,共60分) 1.
下面的程序将输出:
main() {
float f;
int x=1,y=2.5; f=x/y;
printf(\f=%1.1f,y=%#X\); }
A.f=0.0 , y=2 B.f=0.5 , y=0X2 C.f=0.0 , y=0X2 2.
下面的程序将输出:
#include \string.h\ main() {
int len;
char str[]=\a\\b\\04235\\0\; len=strlen(str); printf(\%d\,len); } A. 10 B. 5 C. 6 3.
下面的程序将输出:
main() {
int a=0x31;
char *str[]={\this is one. \this is two. \}; char ch;
ch=++a-’0’; switch(ch) {
case 1: printf (\%s\); case 2: printf (\%s\); default: printf (\no way! \); } }
A.this is one. B.this is two. C.no way!
收集于网络,如有侵权请联系管理员删除D.f=0.5 , y=2
D. 7
D.this is two.no way!
精品文档
4. 下面的程序将输出:
main() {
int a[5]={1,2,3}; int k,j;
for(k=1;k<4;k++) a[k]++;
for(j=0;j<5;j++) printf(\%d \,a[j]); }
A.1 3 4 1 0 B.2 3 4 1 0 5.
C.2 3 4 0 0 D.1 3 4 0 0
已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:
int a[10]; int *p; p=a;
A.a[2]=1; 6.
B.p[1]=1; C.*(p++)=1; D.*(++a)=1;
下面程序将输出:
void add(int a) { a++; return; } main() { int k; k=3.4; add(k);
printf(\%d\,k); } A. 3.4 7.
B. 4.4 C. 3 D. 4
下列循环结构中,不是无限循环的是: ..
B. i=10;
while(1) {i=i+1;
if(i>10) break; } D. i =100;
while(++i%2) i++;
收集于网络,如有侵权请联系管理员删除
A. for(i=1, s=0; ; i++)
s=s+i ;
C. int i=0;
do{ ++i ; }while(i>=0);
精品文档
8.
若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:
B.p[5]
C.a[5]
D.p[1][1]
A.a[2][2] 9.
已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?
B. 0X5002
C. 0X5004
D. 0X5040
A. 0X5050 10. 11.
若有说明int a[2][2];那么,下面正确的C赋值语句是:
B.a[1]=2;
C.a[1]={1,2};
D.a[0][1]=a[1][0];
A.a=2;
设x为int型变量,则执行以下语句后,x的值为
x=10; x+=x-=x-x; A.10 12.
已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:
B.语法错
C.1
D.\假\
B.20
C.40
D.30
A.0 13.
下面能正确进行字符串赋值操作的语句是: ...
B.char s[]={'A','B','C','D','E'}; D.char *s;scanf(\,s);
A.char s[5]={\C.char *s;s=\ 14.
已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.
B.*(&a[0]+6) C.a[2][2]
D.*(&a[0][0]+6)
A.(a+6) 15.
设有以下说明和定义:
typedef union { long i; int k[4]; char c; }DATE; struct date { int cat; DATE cow; double dog; } too; DATE max;
则下列语句的执行结果是
收集于网络,如有侵权请联系管理员删除
精品文档
printf (\A.26 16.
设有如下定义:
B.30
C.18
D.8
int *(*ptr)();
则以下叙述中正确的是
A.ptr是指向一维组数的指针变量 B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针 17.
若二维数组a 有m列,则在a[i][j]之前的元素个数为______
B.i*m+j
C. i*m+j-1
D.i*m+j+1
A.j*m+i
收集于网络,如有侵权请联系管理员删除