第一份
1、以下叙述错误的是(B)。
A、C源程序必须包含一个main()函数。
B、语句必须在一行内写完。
C、以一对“/*”和“*/”为定界符括起来的文字为注释部分。
D、所有语句都必须以分号“;”结束。
2、整型常量三种表示形式中不含(D)。
A、十进制 B、八进制 C、十六进制 D、二进制
3、以下表达式中,(B)无法正确表示右图所示的代数式: (a+b)(a-c)/3a (a <> 0)
A、(a+b)/a*(a-c)/3 B、(a+b)*(a-c)/3*a C、(a+b)*(a-c)/(3*a) D、(a+b)/(3*a)*(a-c)
4、运算符(C)不能用于非整型数据运算。
A、/ B、+ C、% D、*
5、(A)可产生(0,0.9)之间的随机数。
A、rand()%10/10.0 B、srand()%10/10.0 C、srand()*10%10 D、rand()%10/10
6、能正确表示2<t<10的逻辑表达式是(D)。
A、2<t<10 B、10>t>2 C、t>2 || t<10 D、t>2 && t<10
7、定义:int a=1,b=2,c ; 语句c=1.0/b*4; 执行后,变量 c的值为(2)。
8、以下程序段的运行结果是(C)。
int x=10,y;
if(x>20)
y=9;
else if(x>10)
y=6;
else if(x>5)
y=3;
else
y=1;
printf(“%d\n”,y);
A、9 B、6 C、3 D、1
9、以下程序段的运行后sum的值为(D。
int i,j ,sum=0;
for(i=1; i<=3;i++) I=1 J=I=1 SUM=2 J=2 SUM=2+1+2=5 J=3 SUM=5+1+3=9
for(j=i; j<=3; j++) I=2 J=2 SUM=9+2+2=13 J=3 SUM=13+2+3=18
sum=sum+i+j; I=3 J=3 SUM=18+3+3=24
J=4 I=4
A、18 B、12 C、20 D、24
10、(B)语句能正确定义a为整型数组。
A、int a[n] ,n=10; B、int a[10]; C、int n=10,a[n]; D、int a(10)
11、以下程序段的运行结果是(C)。
int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
printf(“%d\n”,a[0][0]-a[2][3]);
A、-1 B、10 C、-11 D、8
13、以下叙述错误的是(B)。
A、函数体内复合语句中定义的变量只在该复合语句内有效。
B、在一个程序源文件中定义的全局变量,在程序的其它源文件中必不可见。
C、全局变量的作用域是从其定义处起至程序结束处。
D、函数体内定义的变量,其生命期是函数执行期。
14、以下叙述错误的是(A)。
A、宏定义必须放置在它所在的源程序文件的最前面。
B、宏定义中的宏名一般用大写字母表示。
C、宏定义不占用程序运行时间,但与程序中的语句一样需要编译。
D、一个C语言源程序可以有多条预处理命令。
15、若已定义:int a[5], *p=a; 无法引用数组元素a[4]的是()。
A、*p+4 B、*(p+4) C、*(&p[0]+4) D、p[4]
16、以下程序的运行结果是()。
#include <stdio.h>
void main()
{
char str[]=”abcd”, * p=str;
while(*p)
{
(*p)++;
p++;
}
Printf(“%s\n”,str);
}
A、bcde B、cdba C、dcba D、abcd
17、若有如下结构类型定义,以下错误的语句是()。
struct PERSON
{
int num;
char name[10];
};
A、struct PERSON *p; p->name=”1234”;
B、struct PERSON person; person.num=123
C、struct PERSON people[100]; (people+5)->num=1234;
D、struct PERSON *p;
18、以下程序的输出结果是()。
#include <stdio.h>
struct Student
{ int num, grade;
} s[]={{111,80},{112,90},{113,70}};
void main()
{
struct Student *ps=s+2;
while(ps>=s)
{
ps->grade+=5;
ps--;
}
printf(“%d\n”,(ps+1)->grade);
}
A、90 B、95 C、85 D、70
19、以下程序段运行后,输出结果是(D)。
int a=2,b=3,c=10;
/* a=00000000 00000010 b=00000000 00000011 c=00000000 00001010 */
00000000 00000001
00000000 00000110
0000000000000111
c=(a>>1)| (b<<1);
printf(“%d %d %d\n”,a,b,c);
A、2 5 7 B、2 3 10 C、3 2 5 D、2 3 7
20、以下程序的可执行文件名为do.exe。
#include <stdio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
if(argc!=2)printf是不是c语句
{
printf(“Bad command found !\n”);
exit(1);
}
printf(“hello %s\n”,argv[1]);
getch();
}
在Dos命令行输入:do me<回车>,则输出结果是()。
A、hello do B、hello me C、Bad command found ! D、hello dome
第二份
2、(B)合法的用户标识符
A、h2.7 B、_3tree C、8du D、struct
3、若已定义:int a, b=3,c ; 则(A)是不正确。
A、c=((2=a)+b); B、b*=b+=2*b; C、c=(a=10,a+=6) D、c=6*b;
4、若已定义:float a=1.2 ; int b=3; 则表达式b%5-a的值是( C )
A、-1.2 B、-0.2 C、1.8 D、2
5、若已定义:char c1,c2,c3; 使用语句scanf(“%c%c%c”,&c1,&c2,&c3); 给c1,c2,c3分别赋‘h’, ‘u’, ‘b’,正确的输入形式是(C)
A、’h’ ‘u’ ‘b’ B、’h’, ‘u’, ‘b’ C、hub D、h,u,b
6、若已定义:int a; 条件表达式( D )等价于求a的绝对值。
A、a<0?a:-a B、a>0?--a : a C、a>0?-a : a D、a<0?-a:a
7、以下运算符优先级最高的是(B)
A、> B、+ C、= D、==
8、若已定义:int a=3, b=2; 以下程序段运行结果是(A)。
if( a==2)
{ if(b==1)
{ a+=b;
printf(“%d\n”,a);
}
else
{ a-=b;
printf(“%d\n”,a);
}
}
else
printf(“%d\n”,a+3);
A、6 B、1 C、 5 D、3
9、以下程序运行后k的值为(D )
int i,k=3;
for(i=1; i<=5; i++) i=1 k=4 i=2 k=5+2=7 i=3
{
k+=1;
if(k%2==0)
continue;
k+=2;
}
A、11 B、9 C、 10 D、12
10、以下程序段的运行结果是(C)。
int a[3], k=3;
a[0]=k;
a[1]= a[0]+2;
a[2]= a[0]*a[1];
printf(“%d\n”,a[2]);
A、9 B、6 C、15 D、12
11、正确定义二维数据a的语句是(B)
A、int a[4,5] B、float a[2+2][5] C、int a(4,3) D、float a[4][];
12、若已定义char b[20]=”How do you do!”; 实现输出字符串”do you do!” 的语句是( C );
A、puts(“%c”,b[20]); B、printf(“%c”,b+4);
C、printf( “%s”,b+4); D、puts(“%s”,b);
13、以下叙述错误的是(C)。
A、定义函数时必须指明函数名 B、函数原型中可以不指明参数的类型
C、定义函数时必须指明函数类型 D、函数原型中可以不指明参数的名字
14、不正确的宏定义命令是(?AC)。
A、#define N*N 100 B、#define SUM(x,y) (x+y)
C、#define K=100 D、#define K 3.14
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论