安徽中医药大学历年C语言精选样卷
本试卷为安徽中医药大学历年C语言精选样卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言精选样卷
一、单项选择题 (共50题,每题2分,共计100分)
( A )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( A )
2、下列字符数组初始化语句中,不正确的是________。
( A )
3、下列运算符中优先级最高的算符是________。
( A )
4、有如下程序:
main ()
{
int x = 1, a = 0, b = 0;
switch (x)
{
case 0:
b++;
case 1:
a++;
case 2:
a++;
b++;
}
printf ("a = %d, b = %d\n", a, b);
}
该程序的输出结果是________。
( C )
5、表达式y=(13>12?15:6>7?8:9)的值为________ 。
( B )
6、break语句的正确的用法是________。
( B )
7、语句 for(k=0;k<5;++k)
{
if(k== 3) continue;
printf("%d",k);
}
的输出结果为______
( C )
8、以下对二维数组a的正确说明是________。
( A )
9、在c语言中,下面合法的长整型数是________。
( B )
10、有以下程序
struct s
{
int x,y;
}
data[2]={ 10,100,20,200 };
main()
{
struct s *p=data;
printf("%d\n",++(p->x));
}
程序运行后的输出结果是________。
( C )
11、若有以下程序
#include <stdio.h>
void f(int n);
main()
{
void f(int n);
f(5);
}
void f(int n)
{
printf("%d\n",n);
}
则以下叙述中不正确的是________。
( A )
12、若有下面的说明和定义:
struct test
{
int ml;
char m2;
float m3;
union uu
{
char ul[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test )的值是________。
( B )
13、有如下程序 int a[10]={ 1,2,3,4,5,6,7,8,9,10 },*p=a; 则数值为9的表达式是________。
( D )
14、下面程序段运行时输出结果是______。 char s[12]= "a book"; printf("%d\n",strlen(s));
( C )
15、对于类型相同的两个指针变量之间,不能进行的运算是______。
( D )
16、下面程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
( B )
17、以下定义语句中,错误的是 __________.
( C )
18、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是 __________.
( B )
19、若有定义int a=2; 则执行完语句a/=a*a; 后,a的值是________。
( A )
20、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
( B )
21、有如下定义语句:int a[]= {1,2,3,4,5 },则对语句int * p=a; 正确的描述是________。
( B )
22、c语言中,int型数据在内存中的存储形式是________。
( D )
23、在16位pc机上使用c语言,若有如下定义
struct data {
int i;
char ch;
double f;
} b;
则结构变量b占用内存的字节数是________。
( C )
24、若调用一个函数,且此函数中没有return语句,则正确的说法是该函数________。
( C )
25、下述关于break语句的描述中,( )是不正确的。
( B )
26、在下面的运算符中,不是算术运算符的是________。
( D )
27、以下程序有错,错误原因是
main()
{
int *p,i;
char*q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
…
}
( D )
28、有以下程序
main()
{
int i=0,s=0;
for(;;)
{
if(i==3‖i==5) continue;
if(i==6) break;
i++;
s+=i;
}
;
printf("%d\n",s);
}
程序运行后的输出结果是________。
( A )
29、有以下程序
#include <stdio.h>
main( )
{
file *fp;
int i,a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","w+b");
fwrite(a,sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,seek_set);
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp);
fclose(fp);
for(i=0;i<6;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是________。
( A )
30、设有定义:char*c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
( B )
31、有以下程序:
int *f(int *x, int *y) {
if (*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
printf ("%d,%d,%d\n",*p,*q,*r);
}
执行后输出结果是________。
( D )
32、下列字符常量的写法中,正确的是________。
( C )
33、下列程序的运行结果是______。
main()
{
int a[6],i;
for(i=2;i<6;i++)
{
a[i]=4*(i-2*(i>3))%5;
printf("%2d",a[i]);
}
}
( B )
34、若定义a=3,b=4,执行printf("%d, %d",(a,b),(b,a)); 的输出结果为________。
( A )
35、以下程序的输出结果是_______。
main()
{
char t[]="student",*p;
p=t+1;
printf("%c",*p++);
printf("%c",*p++);
}
( C )
36、若有以下程序段int m=0xabc,n=0xabc;
m-=n;
printf("%x\n",m);
执行后输出结果是______。
( D )
37、在c语言中,数字029是一个( )
( C )
38、下列函数中,能够从键盘获得一个字符数据的函数是________。
( D )
39、执行语句组 int a,b; b=(a=4*9,a*2),a-3; 后, b 的值是________。
( B )
40、设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为________。
( B )
41、关于数组和指针,以下说法错误的是________。
( D )
42、以下说法错误的是________。
( C )
43、以下叙述中正确的是________。
( C )
44、以下数值中,不正确的八进制数或十六进制数是________。
( C )
45、若ch为char型变量,k为int型变量(已知字符a的ascii十进制代码为97), 则以下程序段的执行结果是________。 ch='a';
k=12;
printf("%x,%o,",ch,ch,k);
printf("k=%%d\n",k);
( C )
46、以下函数的返回类型是______。 fff(float x)
{
return 5.86;
}
( A )
47、定义如下变量和数组: int k,a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是________。for(k=0;k<3;k++) printf("%d ",a[k][2-k]);
( D )
48、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
( B )
49、设 j 和 k 都是 int 类型,则 for 循环语句
for(j=0,k=-1;k=1;j++,k++) printf("****\n");()。
( A )
50、对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是
相关标签:
- C语言
- 安徽中医药大学
- 精选样卷