c语言选择题 高分 求答案
1、能正确表示a10或a0的关系表达式是( )A) a>=10 or a<=0 B) a>=10 | a<=0 C) a>=10 && a<=0 D) a>=10 ||a<=0
2、下列关于switch语句和break语句的结论中,正确的是( )。
A)break语句是switch语句的一部分
B)在switch语句中可以根据需要使用或不使用break
C)在switch语句中必须使用break语句
D)break语句只能用于switch语句中
3、已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是( )。
A)int B)char C)float D)double
4、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A)2.500000 B)2.750000 C)3.500000 D)0.000000
5、以下对C语言函数的描述中,正确的是( )
A) C语言程序由一个或一个以上的函数组成。
B) 函数既可以嵌套定义又可以递归调用。
C) 函数必须有返回值,否则不能使用函数。
D) C语言程序中调用关系的所有函数必须放在同一个程序文件中。
7、下关于运算符优先顺序的描述中正确的是( )。其中“<”表示“低于”的含义。
A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符
B) 逻辑运算符<关系运算符<算术运算符<赋值运算符
C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符
D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符
8、下述对C语言字符数组的描述中错误的是( )
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
11、关于函数的参数,下面说易做图确的是( )。
A)形参可以是表达式,实参也可以是表达式 B)形参是变量,实参是表达式
C)形参是表达式,实参是变量 D)形参是变量,实参也必须是变量
12、在C语言中,要求运算数必须是整型的运算符是( )。
A) / B)++ C) % D) !=
13、逻辑运算符两侧的运算对象的数据类型( )。
A)只能是0或1 B)只能是0或非0整数 C)只能是整数或字符型数据 D)可以是任何类型的数据
14、语句while(!E);中的表达式!E等介于( )。
A) E==0 B) E!=1 C) E==1 D) E!=0
15、C语言中while和do-while循环语句的主要区别是( )。
A)do-while的循环体至无条件执行一次 B)while中的循环条件比do-while中的条件宽松
C)do-while允许从循环体外部转到循环体内部 D)while可以不是符合语句
16以下程序段( )。
int x=-1;do{x=-x}while(!x);
A) 是死循环 B)循环执行一次 C) 循环执行一次 D)存在错误
17、执行for(i=0;i++;);后i的值是( )。
A) 3 B) 4 C) 5 D)不定
18、若调用一个函数,切此函数中没有return语句,则该函数正确的说法是( )。
A) 没有返回值 B) 返回若干个系统默认值
C) 能返回一个用用户所希望的函数值 D) 返回一个不确定的值
19、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。
A) float B) int C) long D) double
A) 值 B) 地址 C) 名 D) 一个标志
22、以下能对一维数组a进行正确初始化的语句是( )。
A) inta[10]=(1,2,3,4,5); B) int a[10]={};
C) int a[ ]={0}; D) int a[10]={10*1};
23、若有说明:inta[3][4]={0};则下面正确的叙述是( )。
A)只有元素a[0][0]可得到初值0 B) 此说明语句不正确
C) 数组a中各元素都可得到初值,但其值不一定为0 D) 数组中各个元素均可得到初值0
24、若有程序段:char a[4],b[ ]=“China”;
a=b;
printf(“%s”,a);
则( )。
A) 运行后将输出China B) 编译时出错
C) 运行后将输出Chin D) 运行后将输出C
29、C语言的编译系统对宏命令的处理是( )。
A) 在程序运行时进行的 B)在程序连接时进行的
C) 和程序中的其它语句同时进行编译的 D) 在对源程序中的其它成份正式编译之前进行的
30、若执行fopen函数时发生错误,则函数返回值是( )。
A) 地址值 B) 1 C) 0 D) EOF
当顺利执行了文件关闭操作时,函数fclose的返回值为( )。
A) -1 B) 0 C)TRUE D) 1
32、以下不正确if语句形式是( ) .
A.if (x>y && x!=y);
B.if (x = = y ) x + = y;
C. if( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);
D.if(x<y) { x++; y++ ;}
33、若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值为( ) .
x=(i=4,j=16,k=32)
A.4 B. 16 C.32 D.52
34、一个C程序的执行是从( ) .
A. 本程序的main()函数开始,到main函数结束.
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.
C. 本程序的main()函数开始,到本程序文件的最后一个函数结束.
D. 本程序文件的第一个函数开始,到本程序main函数结束.
35.下列叙述中错误的是( )
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
36.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()
A)大写字母 B)连接符 C)数字字符 D)下划线
37.以下叙述中错误的是( )
A)C语言是一种结构化程序设计语言
B)结构化程序有顺序、分支、循环三种基本结构组成
C)使用三种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
7.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()
A)k++ B)k+=1 C)++k D)k+1
38.有以下程序,其中%u表示按无符号整数输出()
main()
{unsignedint x=0xFFFF; /* x的初值为十六进制数*/
printf(“%u\n”,x);
}
程序运行后的输出结果是
A)-1 B)65535 C)32767 D)0xFFFF
39.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )
A)if(x++); B)if(x>y&&y!=0);
C)if(x>y)x-- D)if(y<0){;}
elsey++; else x++;
40.以下选项中,当x为大于1的奇数时,值为0的表达式( )
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
41.以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C)break 语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
41.以下合法的字符型常量是( )
A)”\x13” B)”\018” C)”65” D)”\n”
42.在C语言中,函数返回值的类型最终取决于()
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型
D)函数定义时形参的类型
43.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()
A)c=(c-A)%26+‘a’ B)c=c+32
C)c=c-‘A’+‘a’ D)c=(‘A’+c)%26-‘a’
47.函数调用时,下列说法中不正确的是( )。
A.若用值传递方式,则形式参数不予分配内存
B.实际参数和形式参数可以同名
C.主调函数和被调用函数可以不在同一个文件中
D.函数间传送数据可以使用外部全局变量
追问:1、能正确表示a10或a0的关系表达式是( )A) a>=10 or a<=0 B) a>=10 | a<=0 C) a>=10 && a<=0 D) a>=10 ||a<=0
2、下列关于switch语句和break语句的结论中,正确的是( )。
A)break语句是switch语句的一部分
B)在switch语句中可以根据需要使用或不使用break
C)在switch语句中必须使用break语句
D)break语句只能用于switch语句中
3、已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是( )。
A)int B)char C)float D)double
4、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A)2.500000 B)2.750000 C)3.500000 D)0.000000
5、以下对C语言函数的描述中,正确的是( )
A) C语言程序由一个或一个以上的函数组成。
B) 函数既可以嵌套定义又可以递归调用。
C) 函数必须有返回值,否则不能使用函数。
D) C语言程序中调用关系的所有函数必须放在同一个程序文件中。
7、下关于运算符优先顺序的描述中正确的是( )。其中“<”表示“低于”的含义。
A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符
B) 逻辑运算符<关系运算符<算术运算符<赋值运算符
C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符
D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符
8、下述对C语言字符数组的描述中错误的是( )
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
11、关于函数的参数,下面说易做图确的是( )。
A)形参可以是表达式,实参也可以是表达式 B)形参是变量,实参是表达式
C)形参是表达式,实参是变量 D)形参是变量,实参也必须是变量
12、在C语言中,要求运算数必须是整型的运算符是( )。
A) / B)++ C) % D) !=
13、逻辑运算符两侧的运算对象的数据类型( )。
A)只能是0或1 B)只能是0或非0整数 C)只能是整数或字符型数据 D)可以是任何类型的数据
14、语句while(!E);中的表达式!E等介于( )。
A) E==0 B) E!=1 C) E==1 D) E!=0
15、C语言中while和do-while循环语句的主要区别是( )。
A)do-while的循环体至无条件执行一次 B)while中的循环条件比do-while中的条件宽松
C)do-while允许从循环体外部转到循环体内部 D)while可以不是符合语句
16以下程序段( )。
int x=-1;do{x=-x}while(!x);
A) 是死循环 B)循环执行一次 C) 循环执行一次 D)存在错误
17、执行for(i=0;i++;);后i的值是( )。
A) 3 B) 4 C) 5 D)不定
18、若调用一个函数,切此函数中没有return语句,则该函数正确的说法是( )。
A) 没有返回值 B) 返回若干个系统默认值
C) 能返回一个用用户所希望的函数值 D) 返回一个不确定的值
19、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。
A) float B) int C) long D) double
A) 值 B) 地址 C) 名 D) 一个标志
22、以下能对一维数组a进行正确初始化的语句是( )。
A) inta[10]=(1,2,3,4,5); B) int a[10]={};
C) int a[ ]={0}; D) int a[10]={10*1};
23、若有说明:inta[3][4]={0};则下面正确的叙述是( )。
A)只有元素a[0][0]可得到初值0 B) 此说明语句不正确
C) 数组a中各元素都可得到初值,但其值不一定为0 D) 数组中各个元素均可得到初值0
24、若有程序段:char a[4],b[ ]=“China”;
a=b;
printf(“%s”,a);
则( )。
A) 运行后将输出China B) 编译时出错
C) 运行后将输出Chin D) 运行后将输出C
29、C语言的编译系统对宏命令的处理是( )。
A) 在程序运行时进行的 B)在程序连接时进行的
C) 和程序中的其它语句同时进行编译的 D) 在对源程序中的其它成份正式编译之前进行的
30、若执行fopen函数时发生错误,则函数返回值是( )。
A) 地址值 B) 1 C) 0 D) EOF
当顺利执行了文件关闭操作时,函数fclose的返回值为( )。
A) -1 B) 0 C)TRUE D) 1
32、以下不正确if语句形式是( ) .
A.if (x>y && x!=y);
B.if (x = = y ) x + = y;
C. if( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);
D.if(x<y) { x++; y++ ;}
33、若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值为( ) .
x=(i=4,j=16,k=32)
A.4 B. 16 C.32 D.52
34、一个C程序的执行是从( ) .
A. 本程序的main()函数开始,到main函数结束.
B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.
C. 本程序的main()函数开始,到本程序文件的最后一个函数结束.
D. 本程序文件的第一个函数开始,到本程序main函数结束.
35.下列叙述中错误的是( )
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
36.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()
A)大写字母 B)连接符 C)数字字符 D)下划线
37.以下叙述中错误的是( )
A)C语言是一种结构化程序设计语言
B)结构化程序有顺序、分支、循环三种基本结构组成
C)使用三种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
7.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()
A)k++ B)k+=1 C)++k D)k+1
38.有以下程序,其中%u表示按无符号整数输出()
main()
{unsignedint x=0xFFFF; /* x的初值为十六进制数*/
printf(“%u\n”,x);
}
程序运行后的输出结果是
A)-1 B)65535 C)32767 D)0xFFFF
39.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )
A)if(x++); B)if(x>y&&y!=0);
C)if(x>y)x-- D)if(y<0){;}
elsey++; else x++;
40.以下选项中,当x为大于1的奇数时,值为0的表达式( )
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
41.以下叙述中正确的是( )
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C)break 语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
41.以下合法的字符型常量是( )
A)”\x13” B)”\018” C)”65” D)”\n”
42.在C语言中,函数返回值的类型最终取决于()
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型
D)函数定义时形参的类型
43.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()
A)c=(c-A)%26+‘a’ B)c=c+32
C)c=c-‘A’+‘a’ D)c=(‘A’+c)%26-‘a’
47.函数调用时,下列说法中不正确的是( )。
A.若用值传递方式,则形式参数不予分配内存
B.实际参数和形式参数可以同名
C.主调函数和被调用函数可以不在同一个文件中
D.函数间传送数据可以使用外部全局变量