浙江财经大学计算机C语言样卷
本试卷为浙江财经大学计算机C语言样卷,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言样卷
一、单项选择题 (共20题,每题2分,共计40分)
( C )
1、能正确表示"当x的取值在[1,10]和[100,11o]范围内为真,否则为假"的表达式是________。
( C )
2、若ch为char型变量,k为int型变量(已知字符a的ascil码是97),则执行下列语句后输出的结果为( )。 ch='b'; k=10; printf("%x,%0,",ch,ch,k); printf("k=%%d\n",k);
( A )
3、若有定义:"int a[2][3];",则对a数组的第i行第j列元素的正确引用为( )。
( D )
4、下列选项中不是字符常量的是________。
( B )
5、有以下程序 main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); } 程序执行后的输出结果是________。
( A )
6、若有下面的说明和定义: struct test { int ml; char m2; float m3; union uu { char ul[5]; int u2[2]; } ua; } myaa; 则sizeof(struct test )的值是________。
( B )
7、字符串 "\\\"abc\"\\" 的长度是______。
( D )
8、程序段如下:则以下说法中正确的是: int k=5; do { k--; } while(k<=0);
( B )
9、下面程序输出数组中的最大值,由 s 指针指向该元素 . void main () { int a[10]={6 , 7 , 2 , 9 , 1 , 10 , 5 , 8 , 4 , 3 , } , *p , *s ; for ( p=a , s=a ; p-a<10 ; p++ ) if (________) s=p ; printf ( "the max : %d" , *s ): } 则在 if 语句中的判断表达式应该是______。
( A )
10、表达式10 mod 2的值为________。
( B )
11、二维数组m[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i范围从0到4,列下标,i的范围从0到5。m按行存储时元素m[3,5]的起始地址与m按列存储时元素( )的起始地址相同。
( A )
12、下列描述说明正确的是________。
( D )
13、下面有关for循环的正确描述是________。
( D )
14、以下叙述不正确的是________。
( A )
15、以下程序的输出结果是________。 #include<stdio.h> main() { int a=4,b=3,c=2,d=1; printf("%d",a<b?a:d<c?d:b); }
( A )
16、以下选项中合法的c语言字符常量是________。
( A )
17、执行下列程序段后输出的结果是________ { int x,y,z=1; for(x=1,y=-1;x<y;x++,y--) z++; printf("%d\n",z); }
( D )
18、下列能正确定义字符串的语句是________。
( B )
19、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( B )
20、以下选项中,能定义m为合法的结构体变量的是______。
二、填空题 (共10题,每题2分,共计20分)
1、以下程序输出x,y,z三个数中的最小值,请填空使程序完整___________。 main () { int x=4,y=5,z=8 ; int u,v; u = x < y ?_______; v = u < z ?_______; printf ("%d",v); }
2、已有定义:double *p; ,请写出完整的语句,利用malloc函数使p指向一个双精度型 的动态存储单元 ________ 。
3、有以下程序 #include<stdio.h> main() { int n[2],i,j; for(i=0;i<2;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf("%d\n",n[1]); } 程序运行后的输出结果是________。
4、若有定义语句:int a=5;,则表达式a++的值是 ________ 。
5、下列程序段的运行结果是_____。 main() { int m=1,t=1; for(;;) { m=m*t; t++; if(t>4)break; } printf("%d\n",m); }
6、局部变量的作用域是从定义的位置起,到( )结束止。
7、int w=1, x=2, y=3, z=4; 则条件表达式w>x?w:y<z?y:z的结果为________。
8、在c语言中,函数的返回值是由___________语句传递的。
9、执行下列的程序段后,正确的结果是_____________。 int i=5; while( i = 1)i -- ; printf("%d", i );
10、定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为 ______。
三、编程题 (共3题,每题0分,共计40分)
1、题⽬描述,定义⼀个包括年、⽉、⽇的结构体变量,读⼊年、⽉、⽇,计算该⽇在当年中是第⼏天。注意闰年问题。 输⼊ 三个整数,分别表⽰年、⽉、⽇。保证输⼊是实际存在的⽇期,且年份在1000⾄3000之间(包含1000和3000)。输出 输出该⽇期是⼀年中的第⼏天。 请注意⾏尾输出换⾏。 样例输⼊ 2012 12 21 样例输出 356
2、编程序输出1--1000内的所有素数。所谓素数是指除了能被1和它本身之外不能被其它数整除的数。
3、编写程序:字符串反转,如将字符串 "abc-123-xyz" 反转为 "zyx-321-cba"。
相关标签:
- C语言
- 浙江财经大学
- 样卷