资源描述
C程序设计模拟试卷
(考试时间120分钟)
专业班级_____________________学号_______________姓名____________
题号
1-35
36-67
68
总分
得分
评卷人
试题说明:本试卷全部为单项选择题,四个选项中只有一个是正确的。请把你的选择填在括号内。1-35题,每小题1分,36-66题,每小题2分,第67题3分,满分100分。
1、结构化程序设计的三种基本控制结构是( D )。
A、主程序、子程序、函数
B、输入、处理、输出
C、调用,返回,转移
D、顺序、选择、循环
2、下列关于C程序变量的叙述, ( D )是错误的。
A、变量名必须由字母或下划线开头。
B、程序中的变量必须在被使用之前定义。
C、不同的基本类型的变量之间可以混合运算。
D、变量的数据类型决定变量的"作用域"。
3、能将C语言编写的源程序转换为目标程序的软件是(C )。
A、编辑 程序
B、汇编程序
C、编译程序
D、解释程序
4、以下符号中,合法的用户标识符是( D )。
A、-p
B、int
C、3ab
D、_xt_
5、以下选项中,与m=n++完全等价的表达式是( C )。
A、m=++n
B、m+=n+1
C、m=n, n=n+1
D、n=n+1,m=n
6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。
A、&aa[0]+1
B、&aa[1]
C、&aa[0]++
D、aa+1
7、表达式!5&(7+3)&&(4+5)的值是( A )。
A、0
B、1
C、5
D、9
8、以下选项中非法的C语言表达式是( A )。
A、x+1=x+1
B、0<=x<100
C、i=j==0
D、(char)(65+3)
9、在TURBO C中, int类型变量所占字节数是( B )。
A、1
B、2
C、4
D、8
10、C语言中基本的数据类型包括( B )。
A、整型,实型,逻辑型
B、整型,实型,字符型
C、整型,字符型,逻辑型
D、整型,实型,逻辑型,字符型
11、设有变量定义如下:
char ch; int i; float f;
表达式 ch / i + i﹡f + 1.234 的结果的数据类型是( D )。
A、float
B、char
C、int
D、double
12、C语言中前后运算对象都必须是整型的运算符是( A )。
A、%
B、/
C、++
D、!
13、已定义c为字符型变量, 则下列语句中正确的是(A )。
A、c=98;
B、c=’98’;
C、c=”98”
D、c=”b”
14、以下实型常量中,符合C语言语法的是( A )。
A、.5E-3
B、1.2E0.5
C、E15
D、3.14.159E
15、以下4个选项中,不能看作一条语句的是( C )。
A、if (a>0);
B、{ ; }
C、if (b==0) m=1; n=2;
D、a=0, b=0, c=0;
16、要用C语言表示数学关系式a≥b≥c,正确的表达式是( D )。
A、a>=b>=c
B、(a>=b)& (b>=c)
C、(a>=b) || (b>=c)
D、(a>=b)&& (b>=c)
17、设 i, j, k 均为整型变量, 则执行以下 for 语句后, k 的值是( C )。
For (i=0, j=10; i<=j; i++, j--) k=i+j;
A、0
B、5
C、10
D、20
18、若表达式 !x的值为1, 则下列表达式( A或C )的值为1。
A、x = = 0
B、x = = 1
C、x != 1
D、x != 0
19、已知整型变量a=13, b=16, 则a & b的值为( A )。
A、0
B、-3
C、1
D、3
20、在一个表达式中含下列运算符,优先级最高的是( X )。
A、赋值运算符
B、算术运算符
C、逻辑运算符
D、关系运算符
21、下列语句组中,正确的是( C )。
A、char *s; s={"Beijing"};
B、char s[8]; s={"Beijing"};
C、char *s; s="Beijing";
D、char s[8]; s="Beijing";
22、下述对C语言字符数组的描述中错误的是( C )。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D、不可用关系运算符对字符数组中的字符串进行比较
23、凡在函数中未指定存储类别的变量,其隐含的存储类别为( A )。
A、auto
B、extern
C、register
D、static
24、在函数调用语句中的____的个数、类型和次序应与函数定义的____相一致。( D )
A、值,变量
B、变量,值
C、形参,实参
D、实参,形参
25、若有定义int (*p)[3]和int (*f)(),则p和f分别表示( D )。
A、指针数组,函数指针
B、数组指针,指针函数
C、指针数组,指针函数
D、数组指针,函数指针
26、在说明语句:int *f();中,标识符f代表的是( C )。
A、一个用于指向一维数组的指针变量
B、一个用于指向整型数据的指针变量
C、一个返回值为指针型的函数名
D、一个用于指向函数的指针变量
27、使用结构体struct的目的是( A )。
A、将一组相关的数据作为一个整体,以便程序使用
B、将一组相同数据类型的数据作为一个整体,以便程序使用
C、将一组数据作为一个整体,以便其中的成员共享同一存储空间
D、将一组数值一一列写出来,变量的值只限于列举的数值的范围内
28、设有说明语句
typedef struct
{ int n;
char ch[8];
}PER;
则下面叙述中正确的是( A )。
A、PER是结构体类型名
B、PER 是结构体变量名
C、struct 是结构体类型名
D、struct 是结构体变量名
29、设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是( B )。
A、scanf(“%d”,a);
B、scanf(“%d”,pa);
C、scanf(“%d”,*pa);
D、scanf(“%d”,&pa);
30、若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是( C )
A、fopen("D:\\user\\abc.txt","r")
B、fopen("D:\user\abc.txt","w")
C、fopen("D:\\user\\abc.txt","r+")
D、fopen("D:\user\abc.txt","rb")
31、下列语句中,能正确进行字符串赋值或赋初值的是( D )。
A、char a[5]={‘h’,‘e’,‘l’,‘l’,‘o’};
B、char s[5]=“hello”;
C、char s[5]; s=“hell”;
D、char *s; s=“hello”;
32、下列语句中,能正确定义一维数组的是( B )。
A、 int N=10;
int num[N];
B、# define N 10
int num[N];
C、int num[0..10];
D、int num[];
33、下列语句中,不能正确定义二维数组的是( A )。
A、int a[2][]={{1,2},{3,4}};
B、int a[2][2]={{1}, 2,3};
C、int a[][2]={1,2,3,4};
D、int a[2][2]={{1},{2}};
34、如有定义: int *p[3]; 则下列叙述中正确的是( C )。
A、定义了一个可指向一维数组的指针变量p, 所指一维数组应含有三个int类型元素
B、定义了一个名为*p的整型数组, 该数组含有三个int类型元素
C、定义了一个指针数组p, 该数组含有三个元素, 每个元素都是基类型为int的指针
D、定义了一个基类型为int的指针变量p, 该变量具有三个指针
35、有以下函数定义 :
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( A )。
A、fun(x,n);
B、void fun(n,x);
C、fun(int y, double m);
D、k=fun(10,12.5);
36、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( D )。
A、函数调用可以出现在表达式中
B、函数调用可以作为独立的语句存在
C、函数调用可以作为一个函数的实参
D、函数调用可以作为一个函数的形参
37、若有下面的说明和定义
struct test
{ int ml; char m2; float m3;
union uu {char ul[5]; int u2[2]; } ua;
} myaa;
则sizeof(struct test )的值是( B )。
A、9
B、12
C、14
D、16
38、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( B )。
A、-1
B、0
C、1
D、3
39、下列程序的输出结果为( C )。
#include <stdio.h>
main()
{ char a = ‘a’, b;
printf(”%c,”, ++a);
printf(”%c\n”, b=a++); }
A、a, b
B、a, c
C、b, b
D、b, c
40、下列程序的输出结果为( A )。
#include <stdio.h>
#define F(X,Y) X﹡Y
main( )
{ int a=3, b=4;
printf("%d\n", F(a++, b++)); }
A、12
B、16
C、20
D、24
41、下列程序的输出结果为( D )。
#include<stdio.h>
main( )
{ int a[ ][3]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
printf("%d", a[2][1]); }
A、2
B、4
C、7
D、8
42、设有说明语句: int a=1,b=0; 则执行以下语句后, 输出结果为( D )。
switch(a)
{ case 1: switch(b)
{ case 0: printf("**0**"); break;
case 1: printf("**1**"); break; }
default: printf("**2**"); break; }
A、**0**
B、**2**
C、 **0**
**1**
**2**
D、**0**
**2**
43、下列程序的输出结果为( B )。
main()
{ char ch1,ch2;
ch1=’A’+’5’-‘3’;
ch2=’A’+’5’-‘3’;
printf(“%d,%c\n”,ch1,ch2); }
A、67,67
B、67,C
C、B, C
D、C, C
44、下列程序的输出结果为( D )。
main( )
{ int x=10, y=10;
printf("%d, %d", x++, ++y); }
A、10, 10
B、11, 10
C、11, 11
D、10, 11
45、下列程序的输出结果为( A )。
#define SUM(x) x+x
main( )
{ int a=10,k=3, m=2;
a/=SUM(k*m)/SUM(m);
printf("%d", a);
}
A、0
B、3
C、4
D、6
46、下列程序的输出结果为( X )。
#include <stdio.h>
main( )
{
int i;
for(i=100; i++)
if (i%5==0) continue;
printf("%d", i);
break;
}
A、100
B、101
C、无限循环
D、无输出结果
47、下列程序的输出结果为( A )。
main()
{ int x=3, y=2, z=1;
printf("%d\n, x / y & ~z); }
A、0
B、1
C、2
D、3
48、下列程序的输出结果为( A )。
#include <stdio.h>
main( )
{ static int a[ ]={1, 3, 5}, b[ ]={2, 6, 10};
int i, s=0;
for(i=0; i<3; i++) s+=a[i] / b[i];
printf("%d", s); }
A、0
B、1
C、1.5
D、2
49、下列程序段的输出结果为( A )。
int a=4,b=3,c=2,d=1;
printf(“%d”,(a<b?a:d<c?d:b));
A、1
B、2
C、3
D、4
50、下列程序段的输出结果为( B )。
int x=3;
do
{ printf(“%d ”, x -= 2 );
}while( !(--x) );
A、1
B、1 -2
C、3 0
D、死循环
51、下列程序的输出结果为( D )。
main( )
{ int a[7] = {1, 2, 3, 4, 5, 6, 7}, *p=a;
printf(“%d\n”, *(p+3) ); }
A、1
B、2
C、3
D、4
52、下列程序的输出结果为( B )。
void sub(int x, int y, int *z)
{ *z=y-x; }
main( )
{ int a,b,c;
sub(10, 5, &a); sub(7, a, &b); sub(a, b, &c);
printf(“%d, %d, %d”, a, b, c); }
A、5,2,3
B、-5,-12,-7
C、-5,-12,-17
D、5, -2, -7
53、下列程序的输出结果为( C )。
main( )
{ int a[ ]={2, 4, 5, 7, 11, 12}, x, y=0, *p;
p=&a[1];
for(x=0; x<=3; x++) y+=*(p+x);
printf(“%d”, y); }
A、16
B、18
C、27
D、11
54、下列程序输入: 81635ac76201 显示结果为( B )
#include <stdio.h>
void main( )
{ int i; float x; char s[10];
scanf("%3d%f%4s", &i, &x, s);
printf("%d %6.3f %s\n", i, x, s); }
A、816 35.000 ac
B、816 35.000 ac76
C、816 35.0 ac
D、816 35.0 ac76
55、下列程序的输出结果为( C )。
main( )
{ union
{ long k;
int i[6];
char c[4];
}r;
printf("%d", sizeof(r));
}
A、4
B、6
C、12
D、20
56、下列程序的输出结果为( B )。
#include <string.h>
main( )
{
void func( );
struct date
{ int a, b;
char s[5];
}arg;
arg.a=27;
arg.b=3;
strcpy(arg.s, "abcd");
func(arg.a, arg.b, arg.s);
printf("arg.a=%d, arg.b=%d, arg.s=%s, arg.a, arg.b, arg.s);
}
void func(int x, int y, char *s1)
{
x-=5;
y+=10;
s1="ABCD";
}
A、arg.a=22, arg.b=13, arg.s=ABCD
B、arg.a=27, arg.b=3, arg.s=abcd
C、arg.a=22, arg.b=13, arg.s=abcd
D、arg.a=27, arg.b=3, arg.s=ABCD
57、下列程序的运行结果为( B )。
main( )
{ float y=0.0, a[ ]={2.0, 4.0, 6.0, 8.0,10.0}, *p;
int i;
p=&a[1];
for(i=0; i<3; i++) y+=*(p+i);
printf("%f", y);
}
A、12.000000
B、18.000000
C、20.000000
D、24.000000
58、下列程序的运行结果为( B )。
#include <stdio.h>
main( )
{
char b[ ]="ABCDEFG";
char *chp=&b[6];
while(chp>&b[0])
{ putchar(*chp);
--chp; }
putchar(''); }
A、GFEDCBA
B、GFEDCB
C、FEDCB
D、FEDCBA
59、下列程序输出结果为( B )。
f( )
{ static c=3;
return(c++);
}
main( )
{ int i, k;
for(i=0; i<2; i++) k=f( );
展开阅读全文