模擬試卷(一)
一、 單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把正確選項的序號,填入題中的括號內(nèi)。多選不給分。每題1分,共20分)
1.以下不是c語言規(guī)定保留字的是( )。
(1)float (2)integer (3)signed (4) unsigned
2.設(shè)int型變量x有初始值3,則表達式x++*5/10的值是( )
(1)0 (2)1 (3)2 (4)3
3.下述程序執(zhí)行后的輸出結(jié)果是( )
#include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
}
(1)G (2)H (3)I (4)J
4.設(shè)有程序
#include
main()
{
int i,j;
for (i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在運行上述程序時,for語句中循環(huán)體的執(zhí)行次數(shù)是( )
(1)3 (2)2 (3)1 (4)0
5.在下述選項時,沒有構(gòu)成死循環(huán)的程序是( )
(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型變量,則執(zhí)行下述語句組后,b的值為( )。
a=1;
b=10;
do
{
b-=a;
a++;
} while (b--<0);
(1)9 (2)-2 (3)-1 (4)8
7.設(shè)有變量說明語句
int a=1,b=0;
則執(zhí)行以下程序段的輸出結(jié)果為( )。
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.以下合法的數(shù)組說明是( )。
(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.下述程序執(zhí)行后的輸出結(jié)果是( )。
#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.設(shè)有如下變量說明語句
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)在不同的函數(shù)中可以使用相同名字的變量
(2)函數(shù)中的形式參數(shù)是局部變量
(3)在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
(4)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#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.執(zhí)行下述程序的輸出結(jié)果是( )。
#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.執(zhí)行下述程序的運行結(jié)果是( )。
#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.有如下結(jié)構(gòu)體類型定義和變量說明
struct node
{
char data;
struct node *next;
}a,b,*p=&a,*q=&b;
且如下圖所示指針p指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點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語言對文件的操作提供了提供了若于個標(biāo)準(zhǔn)庫函數(shù),其中對格式化讀函數(shù)fscanf的函數(shù)調(diào)用正確格式是( )。
(1)fscanf(文件指針,格式控制字符串,輸入項表);
(2)fscanf(格式控制字符串,輸入項表,文件指針);
(3)fscanf(格式控制字符串,文件指針,輸入項表);
(4)fscanf(文件指針,輸入項表,格式控制字符串);
20.執(zhí)行下述程序的輸出結(jié)果是( )。
#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
一、 單項選擇題(在本題的每一小題的備選答案中只有一個答案是正確的,請把正確選項的序號,填入題中的括號內(nèi)。多選不給分。每題1分,共20分)
1.以下不是c語言規(guī)定保留字的是( )。
(1)float (2)integer (3)signed (4) unsigned
2.設(shè)int型變量x有初始值3,則表達式x++*5/10的值是( )
(1)0 (2)1 (3)2 (4)3
3.下述程序執(zhí)行后的輸出結(jié)果是( )
#include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
}
(1)G (2)H (3)I (4)J
4.設(shè)有程序
#include
main()
{
int i,j;
for (i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在運行上述程序時,for語句中循環(huán)體的執(zhí)行次數(shù)是( )
(1)3 (2)2 (3)1 (4)0
5.在下述選項時,沒有構(gòu)成死循環(huán)的程序是( )
(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型變量,則執(zhí)行下述語句組后,b的值為( )。
a=1;
b=10;
do
{
b-=a;
a++;
} while (b--<0);
(1)9 (2)-2 (3)-1 (4)8
7.設(shè)有變量說明語句
int a=1,b=0;
則執(zhí)行以下程序段的輸出結(jié)果為( )。
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.以下合法的數(shù)組說明是( )。
(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.下述程序執(zhí)行后的輸出結(jié)果是( )。
#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.設(shè)有如下變量說明語句
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)在不同的函數(shù)中可以使用相同名字的變量
(2)函數(shù)中的形式參數(shù)是局部變量
(3)在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
(4)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
14.執(zhí)行下述程序的輸出結(jié)果是( )。
#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.執(zhí)行下述程序的輸出結(jié)果是( )。
#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.執(zhí)行下述程序的運行結(jié)果是( )。
#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.有如下結(jié)構(gòu)體類型定義和變量說明
struct node
{
char data;
struct node *next;
}a,b,*p=&a,*q=&b;
且如下圖所示指針p指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點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語言對文件的操作提供了提供了若于個標(biāo)準(zhǔn)庫函數(shù),其中對格式化讀函數(shù)fscanf的函數(shù)調(diào)用正確格式是( )。
(1)fscanf(文件指針,格式控制字符串,輸入項表);
(2)fscanf(格式控制字符串,輸入項表,文件指針);
(3)fscanf(格式控制字符串,文件指針,輸入項表);
(4)fscanf(文件指針,輸入項表,格式控制字符串);
20.執(zhí)行下述程序的輸出結(jié)果是( )。
#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