自考“C语言程序设计”模拟试题七
一、填空题
1.在C语言程序设计中,正确的标识符是由___组成的。
2. 设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______.
3.一个变量的指针是指___________.
4.能够构成一个数组,其元素满足的特点是_________;
那么,构成结构体的成员可以是___________.
5.下面运算符 < % ++ = 按照优先级从高到低排列顺序为______________.
6.C程序设计中语句后的符号 /*……*/ 所起作用是______________.
7.写出下面表达式的值
3*5/7+7%3________________ x=2 ;y=4;(x++)+y _____________________
3+4>=7-10_________________ 3>4 ? 3%2: 1 __________________
x=2,y=2;++x||++y___________ x=3 ; x+=x-=2 ____________________
二、选择题
⑴在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为( )
A.FILE B.RUN C.EDIT D.OPTION
⑵下列语句不具有赋值功能的是( )
A.a*=b B.x=1 C.a+b D.a++
⑶C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系
A.同一复合语句内部的if B.在其之前任意的if
C.在其之前未配对的更近的if D.首行位置相同的if
⑷下列数组定义方式不正确的语句是( )
A.char x[5];
B.char y[]={‘h’,‘e’,‘l’,‘l’,‘o’};
C. int x[10]={12,13,14,15};
D.int y[];
⑸若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用
int a[]={1,2,3,4,5},*p,i;
p=a;
A. *(a+2) B.a[p-3] C.p+2 D.a+3
⑹下列( )表达式的值为真
a=5; b=8; c=10; d=0
A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d
⑺下列字符数组长度为5的是( )
A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};
C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }
⑻执行下列程序后,其结果为( )
int a[]={2,4,6,8,10,12}; *p;
p=a;
*(p+4) =2;
printf(“%d,%d\n”,*p,*(p+4));
A.0,10 B.0,2 C.2,10 D.2,2
⑼有下列结构体,对该结构体变量stu的成员项引用不正确的是( )
struct student
{ int m;
float n;
} stu ,*p;
A. stu.n B.p->m C.(*p)。m D.p.stu.n
⑽下列函数中不能用于对文件进行输入输出操作的是( )
A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )
三、判断题
1.C语言程序设计可以对计算机硬件进行操作。 ( )
2.在循环过程中,使用break语句和continue语句的作用是一样的。 ( )
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 ( )
4.对于某一指针变量可以接收任何类型的值。 ( )
5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。( )
6.文件指针是结构体类型,可以用表示file来定义。 ( )
7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。 ( )
8.在定义数组时,有时可以将该数组的维数省略。 ( )
9.运算符&& +*的优先级是 * 优先于 + 优先于&&. ( )
10.任何数组都可以实现对其进行整体操作。 ( )
三、程序填空题
1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。
main()
{ int i , j , k;
for(i=1;_____________; i++)
{bsp; {
for(__________; j<=i ; j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
自定义函数如下:
int max(x,y)
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ; p=1 , sum=0 ;
for (x=1 ; x<=5 ; x++)
{ p=p*x;
sum=sum+p ; }
上面的程序段实现的功能是计算下面的式子_______________________________ ;
其运行结果为_________________________________________________________.
四、阅读程序,写出下列程序段的结果
1. int *p,i;
i=100;
p=&i;
i=*p+10; 执行完上面的语句段后, i的值是 ______
2. int A,B,C,m=1,n=0;
A=(——m=n++)?- -m:++n;
B=++m;
C=n——;
执行完上面的语句段后,A的值为 B的值为 C的值为
3. main()
{ int c1=10,c2=10;
printf(“c1=%d,c2=%d \n c1=%d”,++c1,c2++,c1——);
}
该程序的运行结果是_______________________________________________.
4.main()
{ int i;
for(i=3;i<10;i++)
{ if(i%4==0)
continue;
else
printf(“%d,”,i);
} }
该程序输出的结果是 _______________________________________
5. main()
{ int x;
x=3;
do
{ printf(“%d”,x——);
}while(!x); }
该程序运行的结果是___________________________________________________________
五、编程题
1.编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去,同时将小写字母转换成大写字母。