一、单选题
1、能将高级语言源程序转换成目标程序的是( C )。
编译程序的基本功能是把源程序翻译成目标程序
A)调试程序 B)解释程序
C)编译程序 D)编辑程序
2、设有以下定义:int x=10,y=3,z;则语句:printf(“%d”,z=(x%y,x/y));的结果是( D )。
冒泡排序代码c语言 A)1 B)0
C)4 D)3
3、若已定义x和y为整型,则表达式:x=1,y=x+3/2的值是( B )。P56
A)1 B)2
C)2.0 D)2.5
4、C语言中 ( B )。P115
A)不能使用 do - while 语句构成循环。
B)do-while 语句, 当 while 语句中的表达式值为零时结束循环。
C)do-while 语句, 当 while 语句中的表达式值为非零时结束循环
D)do-while 语句必须用 break 语句才能退出循环
5、设有定义 int a =3;,则执行语句 a+ = a-=a*a 后,变量 a 的值是( C ).P64
(a-a*a a = 3-3*3 a = -6 a = a + a a = -6 + (-6) a=-12)
A)3 B)0 C)-12 D)9
6、以下程序的输出结果是 ( C )。p93
# include <stdio.h>
main( )
{int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf ("%d,%d\n",a,b);
}
A)2 1 B)1,-1 C)2,1 D)2 -1
7、以下程序的输出结果是 ( D )。
#include <stdio.h>
#include <string.h>
main( )
{char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str));
}求字符串的长度,strlen( )的参数必须是char*
A)12 B)7 C)11 D)6
8、以下的 for 循环( A )。
for (x=0,y=0;(y!=123)&&(x<4);x++);
A)执行4次 B)是无限循环 C)执行3次 D)循环次数不定
9、以下程序段的输出结果是( A )
char a[]=”Basic”;
char *p=a;
printf(“%s”,p);
A)Basic B)B C)asic D)不确定
10、以下说法中正确的是( C )。
A)C 语言程序总是从第一个定义的
B)在C 语言程序中,要调用的函数必须在 main( ) 函数中定义
C)C 语言程序总是从 main( ) 函数开始执行
D)C 语言程序中的 main( ) 函数必须放在程序的开始部分
11、下述对 C 语言字符数组的描述中错误的是( C )
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
12、C语言中最简单的数据类型包括( B )
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)整型、实型、逻辑型、字符型
13、阅读程序:
#include<stdio.h>
#define SUB(X,Y) (X)*Y
main( )
{int a=3,b=4;
printf("%d\n",SUB(a++,b++));
}
程序的输出结果是 ( B )
A)15 B)12 C)16 D)20
14、为表示关系x≥y≥z应使用C语言表达式( A )
A)(x>=y)&&(y>=z) B)( x>=y)and(y>=z)
C) (x>=y>=z) D)( x>=y)&( x>=y)
15、如下程序的运行结果是( A )
Main()
{int n=0;
while(n++<=1)
printf(“%3d”,n);
printf(“%3d\n”,n);
}
A)1 2 3 B)3 2 1 C)0 1 2 D)2 1 0
16、设有如下定义:
char *aa[2]={“abcd”,”ABCD”};
则以下说法中正确的是( D)
A)aa数组元素的值分别是”abcd”和”ABCD”
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符’a’和’A’的地址。
17、设有如下定义:
struct sk
{int a;float b;}data,*p;
若有 p=&data;,则对 data 中的 a 域的正确引用是(p->a)( A )
A)(*p).a B)(*p).data.a C)p.data.a D)p->data.a
18、设有说明 int (*ptr)[M]; 其中的标识符 ptr 是( C )
A)M 个指向整形变量的指针
B)指向 M 个整形变量的函数指针
C)一个指向具有 M 个整形元素的一维数组的指针
D)具有 M 个指针元素的一维指针数组,每个元素都只能指向整形变量
19、阅读程序,程序的输出结果为( C )。
int x=3;
do
哈夫曼树的构造特点手机修改xml文件 {printf(“%3d”,x-=2);
}
while(!(--x));
A)1 B)30 C)1 -2 D)死循环
20、设有10个数据进行冒泡排序,最少进行的比较次数为( C )。
A)0 B)10 C)9 D)1
21、设有语句 char a=’\n’; ,则变量 a( A )。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法
22、若有定义:double x,y;则表达式:x=1,y=x+3/2的值是( C )。
A)1 B)2
C)2.0 D)2.5
23、有以下程序:(注意:ch[0] 在低字节,ch[1] 在高字节。)
# include< stdio.h>
union pw{int i ;char ch[2];}a;
main( )
{a.ch[0]=0 ;a.ch[1]=13 ;
printf("%d\n",a.i);
}
程序的输出结果是( C )。
A)13 B)14 C)3328 D)328
24、以下程序的输出结果是 ( B )。
#include <string.h>
main( )
{char str[12]={'a','b','c','d','f','g',’f’};
printf("%d\n",strlen(str)); }
A)12 B)7 C)11 D)6
25、设有以下语句:
struct st{int n;struct st *next;};
static struct st a[3]={{5,&a[1]},{7,&a[2]},{9,'\0'}},*p; p=&a[0];
则表达式( B )的值是6。
A)p++->n B)++(p->n) C)(*p).n++ D)p->n++
26、对于程序段
float f1(int a)
{int b;……}
main( )
{ int m,n;
m=f1(n);……
}
char f2(int x,int y)
{ int a;…… }
变量m,n的作用范围是( B )
(A)整个程序段 (B)main函数
(C)main函数和f2函数 (D)mian函数和f1函数
27、若p1、p2都是指向整型的指针,p1已经指向数量x,要使p2也指向x,正确的是( A如何自学php语言 )
(A)p2=p1; (B)p2=**p1;
(C)p2=&p1; (D)p2=*p1;
28、算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为( B )
(A)算术运算、赋值运算、关系运算
(B)算术运算、关系运算、赋值运算
(C)关系运算、赋值运算、算术运算
(D)关系运算、算术运算、赋值运算
29、C语言中,运算对象必须是整型数的运算符是( A )
A)% B)/ C)% 和 / D)*
30、若数组定义为int a[10];则下列哪个表达式是错误的?( A )
(A)*a (B)a
(C)&a (D)++a
31、表达式10%2值是( A )
(A)0 (B)1
(C数据库常用sql语句什么意思)5 (D)5.0
32、设有说明 int (*ptr)[M]; 其中的标识符 ptr 是( C )
A)M 个指向整形变量的指针
B)指向 M 个整形变量的函数指针
C)一个指向具有 M 个整形元素的一维数组的指针
D)具有 M 个指针元素的一维指针数组,每个元素都只能指向整形变量
33、初始化一维数组a正确的语句是( C )
(A)int a[10]=(0,0,0,0,0); (B)int a[10]={ };
(C)int a[ ]={10} ; getattribute和getparameter (D)int a[10]={[10*1]};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论