模拟试卷(一)
一、 单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把正确选项的序号,填入题中的括号内。多选不给分。每题1分,共20分)
1.以下不是c语言规定保留字的是( )。
(1)float (2)integer (3)signed (4) unsigned
2.设int型变量x有初始值3,则表达式x++*5/10的值是( )
(1)0 (2)1 (3)2 (4)3
3.下述程序执行后的输出结果是( )
#include main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
}
(1)G (2)H (3)I (4)J
4.设有程序
#include main()
{
int i,j;
for (i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在运行上述程序时,for语句中循环体的执行次数是( )
(1)3 (2)2 (3)1 (4)0
5.在下述选项时,没有构成死循环的程序是( )
(1)int i=100
while (1)
{
i=i%100+1;
if (i>100)
break;
}
(2)for (;;);
(3)int k=1000;
do
{
++k;
}while (k>=10000);
(4) int s=36;
while (s);--s;
6.假定a和b为int型变量,则执行下述语句组后,b的值为( )。
a=1;
b=10;
do
{
b-=a;
a++;
} while (b--<0);
(1)9 (2)-2 (3)-1 (4)8
7.设有变量说明语句
int a=1,b=0;
则执行以下程序段的输出结果为( )。
switch (a)
{
case 1:
switch (b)
{
case 0:printf("**0**");break;
case 1:printf("**1**");break;
}
case 2:printf("**2**");break;
}
printf("\n");
(1)**0** (2)**0****2** (3)**0****1****2** (4)有语法错误
8.以下合法的数组说明是( )。
(1)char a[6]="string";
(2)int a[5]={0,1,2,3,4,5};
(3)char a="string";
(4)INT a[]={0,12,3,4,5};
9.下述程序代码中有语法错误的行是( )。
int i,ia[10],ib[10]; /*第一行*/
for (i=0;i<=9;i++) /*第2行*/
ia[i]=0; /*第3行*/
ib=ia; /第4行*/
(1)第1行 (2)第2行 (3)第3行 (4)第4行
10.若已定义
int a[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( )。
(1)p+1 (2)a+1 (3)a++ (4)++p
11.下述程序执行后的输出结果是( )。
#include main()
{
int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for (x=0;x<3;x++)
y+=*(p+x+;
printf("%d\n",y);
}
(1)17 (2)18 (3)19 (4)20
12.设有如下变量说明语句
char c[8]="BEIJING",*S=C;
int i;;
则下面四个程序段中,有错误的是( )。
(1)printf("%s\n",s);
(2)printf("%s\n",*s);
(3)for (i=0;i<7;i++)
printf("%c",c[i]);
printf("\n");
(4)for (i=0;i<7;i++)
printf("%c",s[i]);
printf("\n");
13.以下叙述中不正确的是( )。
(1)在不同的函数中可以使用相同名字的变量
(2)函数中的形式参数是局部变量
(3)在一个函数内定义的变量只在本函数范围内有效
(4)在一个函数内的复合语句中定义的变量在本函数范围内有效
14.执行下述程序的输出结果是( )。
#include main()
{
int w=5;
fun(w);
printf("\n")
}
fun (int k)
{
if (k>0)
fun (k-1);
printf ("%d ",k);
}
(1)54321 (2)012345 (3)12345 (4)543210
15.执行下述程序的输出结果是( )。
#include int m=13;
int fun(int x,int y)
{
int m=3;;
return (x*y-m);
}
main()
{
int a=7,b=5;
printf ("%d\n",fun(a,b)/m);
}
(1)1 (2)2 (3)7 (4)10
16.执行下述程序的运行结果是( )。
#include long fib(int n)
{
long res;
switch (n)
}
case 0:res=0;break;
case 1:res=1;break;
default:res=fib(n-1)+fib(n-2);
}
return (res);
}
main()
{
printf("%ld\n",fifb(6));
}
(1)5 (2)8 (3)13 (4)21
17.有如下结构体类型定义和变量说明
struct node
{
char data;
struct node *next;
}a,b,*p=&a,*q=&b;
且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。
5
9
p
q
a
date
next
\0
b
date
next
(1)a.next=q (2)p.next=&b (3)p->next=&b (4)(*p).next=q
18.以下对枚举类型的定义中正确的是( )。
(1)enum a={one,two,three};
(2) enum a{one=9,two=-1,three};
(3) enum a={"one","two","three"};
(4) enum a{"one","two","three"};
19.c语言对文件的操作提供了提供了若于个标准库函数,其中对格式化读函数fscanf的函数调用正确格式是( )。
(1)fscanf(文件指针,格式控制字符串,输入项表);
(2)fscanf(格式控制字符串,输入项表,文件指针);
(3)fscanf(格式控制字符串,文件指针,输入项表);
(4)fscanf(文件指针,输入项表,格式控制字符串);
20.执行下述程序的输出结果是( )。
#include #define f(x) x*x
main()
{
int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
(1)9 (2)6 (3)36 (4)18
高级语言程序设计模拟试卷(一).doc
下载Word文档到电脑,方便收藏和打印[全文共2700字]
编辑推荐:
下载Word文档