尔雅C语言程序设计_8答案(学习通2023完整答案)

娱乐头条2024-05-19 06:50:5303448抢沙发
尔雅C语言程序设计_8答案(学习通2023完整答案)摘要: 1.1听一听,答一答1、【单选题】计算机能直接执行的语言是()A、汇编语言B、C语言C、机器语言D、高级语言2、【单选题】C 语言的起源与)操作系统的改进密不可分,也体现了 C 语言在编写系统软件时的 ...

尔雅C语言程序设计_8答案(学习通2023完整答案)

1.1听一听,尔雅答一答

1、语言程【单选题】计算机能直接执行的序设习通语言是()
A、汇编语言
B、计答C语言
C、案学机器语言
D、完整高级语言

2、答案【单选题】C 语言的尔雅起源与()操作系统的改进密不可分,也体现了 C 语言在编写系统软件时的语言程优势。
A、序设习通linux
B、计答unix
C、案学dos
D、完整windows

3、答案【单选题】以下哪一个C标准是尔雅美国国家标准学会发布的()
A、C89
B、C99
C、C11
D、C90

4、【单选题】以“父子”关系论,以下错误的是()
A、B语言是C语言的父亲
B、C语言是JAVA语言的父亲
C、C#是C语言的父亲

5、【单选题】关于C语言能做什么,以下说法错误的是()
A、既能编写操作系统,也能编写应用软件
B、能编写设备驱动程序
C、能编写服务器端程序
D、不能编写嵌入式程序

6、【单选题】以下不属于C编译器的是()
A、TC2.0
B、TC 3.0
C、GCC
D、ANSI C

7、【单选题】第一个Bug的捕手是()
A、Frances E. Allene
B、Grace Hopper
C、Ada Lovelace
D、Jean Bartik

8、【单选题】在TIOBE组织发布的2002--2017年的编程语言热度排行镑中,基本居于第二的是()
A、JAVA语言
B、C语言
C、C++
D、Python

9、【单选题】世界上第一位程序员是()
A、Dennis Ritchie
B、Grace Hopper
C、Ada Lovelace
D、Ken Thompson

10、【多选题】C语言的发明人是()
A、Dennis Ritchie
B、Ken Thompson
C、Guido van Rossum
D、Brian W. Kernighan

2.1.4基于变量常量输出的printf()应用

1、【单选题】定义两个整型变量a和b,以下语句正确的是:
A、int a;b;
B、int a,b
C、int a; int b
D、int a,b;

2、【单选题】printf("%5d\n",33); printf("%10d\n",333); 以上两条语句执行后,屏幕第二行比第一行左边多几个空格?
A、3
B、4
C、5
D、7

3、【判断题】%d是C语言中的一个格式说明符,表明要按十进制整数来进行输入或输出。

4、【判断题】C语言中可以用指定输出宽度的方式实现右对齐。

5、【判断题】printf("567"); printf("%d",567); 以上两条语句都能实现打印输出567,没有任何区别。

2.1.6任务1 狂敲&自测

1、【单选题】编写C程序时,预处理命令的标志符号是()
A、*
B、#
C、""
D、<>

2、【单选题】函数体必须用一对()括起来
A、()
B、""
C、<>
D、{ }

3、【单选题】以下程序的执行结果是() #include<stdio.h> int main() { printf("1**\n#2#\n"); printf("\n789\n"); return 0; }
A、1**#@# 789
B、1** #2# 789
C、1** #2# 789
D、1** #2# 789

4、【单选题】下面选项中表示主函数的是()
A、main()
B、int
C、printf()
D、return

5、【单选题】C语言属于下列哪类计算机语言()
A、汇编语言
B、机器语言
C、高级语言
D、以上均不对

6、【单选题】以下哪条语句是函数声明()
A、main();
B、int main()
C、a();
D、void a();

7、【单选题】能实现函数返回的语句是()
A、pristar();
B、return 0
C、return
D、return 50;

8、【单选题】能实现函数调用的语句是()
A、pri_a();
B、pri_a()
C、void pri_a()
D、void pri_a();

9、【单选题】想要运行一个C程序,需要经过编辑、编译、组建、执行四个步骤,其中,经过编译后的文件名后缀是()
A、.exe
B、.c
C、.obj
D、.dll

10、【多选题】关于主函数,说法正确的是()【多选】
A、一个C程序中只能包含一个主函数
B、主函数是C程序的入口
C、主函数中只能包含输出语句
D、C程序有时可以包含多个主函数

2.2.6任务2 狂敲&自测

1、【单选题】关于变量,以下说法正确的是:
A、变量必须先定义后使用
B、0X2是一个八进制常量
C、#define N 5;可以定义一个符号常量

2、【单选题】以下语句正确的是:
A、int x=10;y=20;
B、float number=10
C、printf("%d",3+6);
D、char c1;scanf("%c",c1);

3、【单选题】C源文件编译后的后缀为:
A、.obj
B、.exe
C、.c
D、.cpp

4、【单选题】关于字符,以下说法正确的是
A、字符ASCII码值用一个字节表示,且最高位为标志0
B、字母a用%d打印的结果为65
C、字符类型和整型完全一样
D、99这个整数如果用%c则无法输出打印

5、【单选题】关于运算符,以下说法正确的是
A、%求余运算符的两个运算量必须是整数
B、整除运算符的结果只能是整数
C、自增自减运算符只能用于整型变量的自增自减
D、赋值运算符是优先级最低的运算符

6、【单选题】以下不是合法C语言常量的是
A、"ab"
B、'ab'
C、0x37
D、023

7、【单选题】在C语言中,以下是合法的用户标识符的是
A、ij
B、char
C、2m
D、x-2

8、【单选题】以下不属于C语言三种基本结构的是
A、选择结构
B、循环结构
C、顺序结构
D、switch结构

9、【单选题】若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()
A、1
B、1.0
C、2.0
D、2.5

10、【单选题】m、n、a、b、c、d均为1,执行(m=a>b)&&(n=c>d)后,m、n的值是()
A、0、0
B、0、1
C、1、0
D、1、1

11、【单选题】假设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的结果为()
A、4
B、3
C、2
D、1

12、【多选题】标识符只能由()组成。
A、字母
B、数字
C、下划线
D、横杠

2.3.4任务3 狂敲&自测

1、【判断题】逻辑表达式的值只能为1或0()

2、【判断题】if(a=5)是允许的()

3、【判断题】设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z值的为0()

4、【判断题】表达式!!5的值是1()

5、【判断题】C语言中,语句a=b;的含义是比较a、b变量值是否相等()

2.4.5任务4 狂敲&自测

1、【单选题】为表示关系x>y≥z, 应使用C语言表达式是()
A、(x>y)&&y>=z
B、(x>y)&&(y>=z)
C、(x>y>=z)
D、(x>y)&(y>=z)

2、【单选题】表达式:209!=99的值是()
A、false
B、任意值
C、0
D、1

3、【单选题】在C语言中,运算对象必须是整型数的运算符是()
A、%=
B、/=
C、%=和/=
D、/

4、【单选题】若t为double类型,表达式t=1,t*5,t的值应是()
A、1
B、6.0
C、2.0
D、1.0

5、【单选题】C语言中,用来决定分支流程的表达式是()
A、只能用逻辑或关系表达
B、只能用逻辑表达式
C、只能用关系表达式
D、可以用任意表达式

2.5.4任务5 狂敲&自测

1、【单选题】以下选项中,不属于switch语句的关键字是()
A、break
B、case
C、for
D、default

2、【单选题】下面一段程序运行时,变量y的值为() int x=1; int y=2; if(x%2==0) { y=y+1;} else { y=y-1} printf("y=%d",y);
A、1
B、2
C、3
D、4

3、【单选题】假设int x=2;则三目表达式x>0?x+1:5的运算结果是()
A、2
B、3
C、5
D、6

4、【单选题】能判断一个成绩在80--89之间(包括80和89)的表达式是()
A、score>=80||score<=89
B、score>80&&score<=89
C、score>=80&&score<90
D、score>79&&score<89

5、【单选题】为避免在嵌套的条件语句if-else中产生二义性,C语言规定:else的子句总是与()配对。
A、缩排位置相同的if
B、其之前最近的if
C、其之后最近的if
D、同一行上的if

6、【单选题】若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z
A、4
B、3
C、2
D、1

7、【单选题】break语句在switch结构中的作用是()
A、打破switch结构延伸归入的特性
B、使程序停止执行
C、使程序自动顺序执行
D、一个switch结构必须要用break语句结束

8、【单选题】若有int x,a,b,c; 则下列语句中合法的if语句是()
A、if(a<>b) x++;
B、if(a=<b) x++;
C、if(a!=b) x++;
D、if(a=>b) x++;

9、【单选题】C语言中,用来决定分支流程的表达式是()
A、只能用逻辑或关系表达
B、只能用逻辑表达式
C、只能用关系表达式
D、可以用任意表达式

10、【单选题】若k是int型变量,下面程序段的输出结果是() int k; k=-3; if(k<=0) printf("####"); else printf("&&&&");
A、####
B、&&&&
C、####&&&&
D、有语法错误,无输出结果

2.6.4任务6 狂敲&自测

1、【单选题】函数调用时,被调函数的参数是()
A、形式参数
B、实际参数
C、整型参数
D、字符参数

2、【单选题】函数定义时,如果该函数被调用后返回一个字符,则应把该函数定义为什么类型()
A、int
B、double
C、float
D、char

3、【单选题】如果一个被调函数的最后四条语句如下所示,则该函数的返回值是() return 0; return ; return 10; return 100;
A、0
B、10
C、100
D、无

4、【单选题】单向传值调用指的是()
A、从形参到实参
B、从实参到形参
C、从第一个形参到第二个形参
D、形参的变化能改变实参

5、【单选题】函数返回值的类型是由()决定的。
A、函数定义时指定的类型
B、return语句中表达式的类型
C、调用该函数时的实参的数据类型
D、形参的数据类型

6、【单选题】函数调用时,以下说法正确的是()
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里

7、【判断题】函数不可以嵌套定义,但可以嵌套调用。

8、【判断题】return 3+5; 这样的返回值语句不合法。

9、【判断题】没有return语句的被调函数无法实现正常返回。

10、【判断题】return 5; 跟 return (5); 是等价的。

2.7.1自增、自减运算符

1、【单选题】以下语句: a=4; b=2; c=--a*b++; d=a--*++b; 执行后,d的值是()
A、6
B、4
C、9
D、12

2.7.6任务7 狂敲&自测

1、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i++) printf("%d",i); printf("%d",5); return 0; }
A、123455
B、1525354555
C、1 2 3 4 5 5
D、1 2 3 4 5 5

2、【单选题】下列程序的运行结果是: #include <stdio.h> int main() { int i; for(i=1; i<10; i++) if(i%2!=0) printf("%d",i); printf("\n"); printf("*"); return 0; }
A、2346810*
B、13579*
C、246810 *
D、13579 *

3、【单选题】该程序的运行结果是: #include “stdio.h” int main() { char c1=97, c2=’a’; if(c1==c2) printf("yes"); printf("no"); return 0; }
A、no
B、yes
C、yesno
D、yes no

4、【单选题】以下程序的运行结果是: #include <stdio.h> int main( ) { int i, j; for(i=1; i<=10; i++) { if(i%5==0&&i/5!=1) printf("%d",i++); printf("%d",i); } return 0; }
A、1234567891011
B、1234567891010
C、1011
D、1010

5、【单选题】以下不能构成无限循环的语句或语句组是()
A、n=0; do { ++n;}while(n>=0);
B、n=0; while(1) { n++; }
C、n=10; while(n) n--;
D、for(n=0;i=1;i++) n+=1;

6、【单选题】设j和k都是int类型,则以下for循环语句() for (j=0, k=-1; k=1; j++,k++) printf(“****\n”);
A、循环结束的条件不符合语法
B、是无限循环
C、循环体一次也不执行
D、循环体只执行一次

7、【单选题】以下程序的运行结果是() #include “stdio.h” int main() { int s=0;i=1; while (1) { s+=i; i++; if s>=20 { break; } } printf(“s=%d, i=%d\n”,s,i); }
A、20,6
B、s=26,i=8
C、s=20 i=7
D、s=21,i=7

8、【单选题】for (n=1; n<=10; n++) { if (n%3==0) countinue; printf(“%d”,n); } 此程序段的执行结果是()
A、12457810
B、369
C、12
D、1234567890

9、【单选题】#include <stdio.h> int main( ) { int i, j; for(i=1; i<=4; i++) { for(j=1; j<=i; j++) printf("#"); printf("\n"); } return 0; }
A、# # # # # # # # #
B、###########
C、# ## ### ####
D、# # # # # # # # # #

10、【单选题】阅读下面的代码: int x=1;int y=2; if(x%2==0) y++; else y--; printf("%d",y--); 所打印的y值是()
A、1
B、0
C、3
D、2

11、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是()
A、while循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次

12、【单选题】设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则()
A、程序运行结果为0
B、程序运行结果为1
C、程序中控制表达式是非法的
D、程序执行无限次

13、【单选题】语句while(!E);中的表达式!E等价于()
A、E==0
B、E!=1
C、E!=0
D、E==1

14、【单选题】下面程序段的运行结果是() a=1;b=2;c=2; while(a<b<c) { t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c);
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1

15、【单选题】下面程序的运行结果是() x=y=0; while(x<15) y++,x+=++y; printf("%d,%d",y,x);
A、20,7
B、6,12
C、20,8
D、8,20

16、【单选题】下面程序段的运行结果是() int n=0; while(n++<=2) printf("%d",n);
A、012
B、123
C、语法错
D、3

17、【单选题】设有程序段 t=0; while(printf("*")) { t++; if(t<3) break;} 以下描述正确的是()
A、其中循环控制表达式与0等价
B、其中循环控制表达式与'0'等价
C、其中循环控制表达式是不合法的
D、循环体被执行一次

18、【单选题】若i为整型变量,则以下循环执行次数是() for(i=2;i==0;) printf("%d",i--);
A、无限次
B、0次
C、1次
D、2次

19、【单选题】以下程序段: x=-1; do { x=x*x; }while(!x);
A、是死循环
B、循环体执行2次
C、循环体执行1次
D、有语法错误

20、【单选题】若有如下语句 int x=3; do { printf("%d\n",x-=2); } while(!(--x)); 则上面程序段()
A、输出的是1
B、输出的是1和-2
C、输出的是3和0
D、是死循环

2.8.4任务8 狂敲&自测

1、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i++) printf("%d",i); printf("%d",5); return 0; }
A、123455
B、1525354555
C、1 2 3 4 5 5
D、1 2 3 4 5 5

2、【单选题】下列程序的运行结果是: #include <stdio.h> int main() { int i; for(i=1; i<10; i++) if(i%2!=0) printf("%d",i); printf("\n"); printf("*"); return 0; }
A、2346810*
B、13579*
C、246810 *
D、13579 *

3、【单选题】以下不能构成无限循环的语句或语句组是()
A、n=0; do { ++n;}while(n>=0);
B、n=0; while(1) { n++; }
C、n=10; while(n) n--;
D、for(n=0;i=1;i++) n+=1;

4、【单选题】语句while(!E);中的表达式!E等价于()
A、E==0
B、E!=1
C、E!=0
D、E==1

5、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是()
A、while循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次

3.1.5任务1 狂敲&自测

1、【单选题】以下哪条符号常量的定义是正确的()
A、#defnie N 100
B、#define PI 3.14;
C、#define M x+5
D、#define MMM 99

2、【单选题】定义数组的代码如下: int array[5]; 数组的长度是()一般编译系统情况下所占内存数是()
A、5 5
B、4 5
C、5 20
D、10 10

3、【单选题】有以下代码: int i[10]={ 1,2,3}; 数组元素i[3]的值是()
A、3
B、2
C、1
D、0

4、【单选题】下列程序的执行结果是() #include<stdio.h> int main() { int x[5]={ 1,2,3,4,5},i=0; for(i=0;i<5;i++) printf("x[%d]:%d\n",i,x[i]); return 0; }
A、x[0] 1 x[1] 2 x[2] 3 x[3] 4 x[4] 5
B、x[1] 0 x[2] 1 x[3] 2 x[4] 3 x[5] 4
C、x[0] :1 x[1] :2 x[2]: 3 x[3] :4 x[4] :5
D、x[0] ;1 x[1] ;2 x[2]:;3 x[3] ;4 x[4] ;5

5、【单选题】写出以下程序的运行结果: #include<stdio.h> int main() { int a[5]={ 90,88,56,40,51},i; for(i=0;i<5;i++) { if(a[i]<60) { printf("%d",i); break;} } if(i>5) printf("no found\n"); return 0; }
A、56no found
B、56
C、2no found
D、2

3.2.3任务2 狂敲&自测

1、【单选题】以下程序段的运行结果是() int a[10]={ 1,2,3,-4,5,6,7,-8,9,10},s=0,i; for(i=0;i<10;i++) { if(a[i]<0) break; s+=a[i]; } printf("%d",s);
A、6
B、7
C、31
D、14

2、【单选题】如下语句的执行结果是() int a[10]={ 1,2,3}; printf("%d",sizeof(a));
A、10
B、6
C、12
D、40

3、【单选题】以下语句执行完毕后,运行结果是() int a[10]={ 1,2,3}; for(i=9;i>=3;i--) printf("%d",a[0]);
A、0000000321
B、0000000
C、1111111
D、0000321

4、【单选题】有以下定义语句: float a[7]={3.5}; 则数组元素引用正确的语句是()
A、a[7]=a[0]+a[1];
B、a[6]*=a[6]
C、a[5]=a[0]+[a7];
D、a[3+3]=a[0];

5、【单选题】有以下代码: int score[100]; 则该数组第一个内存单元的地址是()
A、&score
B、&score[1]
C、score
D、score[0]

3.3.4任务3 狂敲&自测

1、【单选题】有如下定义:int k,a[3][3]={ 1,2,3,4,5,6,7,8,9};则下列语句的执行结果是() for(k=0;k<3;k++) printf("%d",a[k][2-k]);
A、3 5 7
B、3 6 9
C、1 5 9
D、1 4 7

2、【单选题】有如下定义:int k,a[3][3]={ 1,2,3,4,5,6,7,8,9};则下列语句的执行结果是() for(k=0;k<3;k++) printf("%d",a[k][2-k]);
A、3 5 7
B、3 6 9
C、1 5 9
D、1 4 7

3、【判断题】数组名代表该数组的首地址。

4、【判断题】一个数组中的所有元素可以具有不相同的数据类型。

5、【判断题】数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。

6、【判断题】定义数组时可以同时给数组赋初值,初值的个数可以超过数组的长度,多余的被忽略。

7、【判断题】数组名代表该数组的首地址。

8、【判断题】定义数组时可以同时给数组赋初值,初值的个数可以超过数组的长度,多余的被忽略。

9、【判断题】一个数组中的所有元素可以具有不相同的数据类型。

10、【判断题】数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。

3.4.5任务4 狂敲&自测

1、【单选题】若有语句:char s1[10], s2[10]="books";,则能将字符串books赋给数组s1的语句是( )。
A、s1="books";
B、strcpy(s1, s2);
C、s1=s2;
D、strcpy(s2, s1);

2、【单选题】当接收用户输入的含有空格的字符串时,应使用()
A、gets()
B、getchar()
C、scanf()
D、printf()

3、【单选题】设有数组定义:char array[]="China";则sizeof(array)的值为()
A、4
B、5
C、6
D、7

4、【单选题】设有以下程序,运行时,从键盘敲入:01<回车>,程序执行结果为() #include<stdio.h> #include<string.h> int main() { char k;int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0':printf("another\n"); case '1':printf("number\n"); } } return 0; }
A、another
B、another number
C、another number another
D、another number number

5、【单选题】为了判断两个字符串s1和s2是否相等,应用使用()
A、if(s1==s2)
B、if(s1=s2)
C、if(strcpy(s1,s2))
D、if(strcmp(s1,s2)==0)

3.5.4任务5 狂敲&自测

1、【单选题】2.以下对二维数组的定义中正确的是( )。
A、int a[4][]={ 1,2,3,4,5,6};
B、int a[][3];
C、int a[][3]= { 1,2,3,4,5,6};
D、int a[][]={ { 1,2,3},{ 4,5,6}};

2、【单选题】设有以下定义语句: int b[3][4]={ { 1},{ 4,3},{ 2,1,2}}; 则b[2][2]的值为()
A、3
B、0
C、1
D、2

3、【单选题】下列写法中,()可以实现访问数组arr的第1个元素。
A、arr[0]
B、arr(0)
C、arr[1]
D、arr(1)

4、【单选题】若inta[2][3]={ { 1,2,3},{ 4,5,6}};则a[1][1]的值为()
A、2
B、3
C、4
D、5

5、【单选题】以下对数组描述正确的是()
A、一维数组的长度长于二维数组的长度
B、数组不能先声明长度再赋值
C、数组中所有的元素同是一种类型
D、数组没有初始值

3.6.5任务6 狂敲&自测

1、【单选题】关于指针,以下说法正确的是()
A、指针就是内存单元的地址
B、内存单元的地址就是指针
C、指针可以用任何变量来存放
D、指针就是变量或数组元素所占用内存单元的首地址

2、【单选题】指针运算符是
A、*
B、&
C、%
D、%p

3、【单选题】若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。
A、p=q;
B、*p=*q;
C、a=*q;
D、q=a;

4、【单选题】若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为:()
A、无确定值
B、a的地址
C、512
D、511

5、【单选题】设有int a[10]={ 1,2,3},*p=&a[1];则printf("%d",*(p+1))的结果为:
A、0
B、1
C、2
D、3

3.7.3任务7 狂敲&自测

1、【单选题】若有下列定义: struct b { float a[5]; double c; int d;}x; 则变量x在内存中所占的字节为
A、6
B、10
C、40
D、14

2、【单选题】在C语言中,系统为一个结构体变量分配的内存是()
A、结构体第一个成员所需的内存量
B、成员占内存量最大者所需的内存量
C、结构体中最后一个成员所需的内存量
D、以上都不对

3、【判断题】结构体中的成员不可以单独使用()

4、【判断题】结构体变量可以作数组元素()

5、【判断题】结构体只能是基本数据类型的组合()

7.1综合实训&终极检验

1、【单选题】编写C程序时,预处理命令的标志符号是()
A、*
B、#
C、""
D、<>

2、【单选题】函数体必须用一对()括起来
A、()
B、""
C、<>
D、{ }

3、【单选题】以下程序的执行结果是() #include<stdio.h> int main() { printf("1**\n#2#\n"); printf("\n789\n"); return 0; }
A、1**#@# 789
B、1** #2# 789
C、1** #2# 789
D、1** #2# 789

4、【单选题】下面选项中表示主函数的是()
A、main()
B、int
C、printf()
D、return

5、【单选题】以下哪条语句是函数声明()
A、main();
B、int main()
C、a();
D、void a();

6、【单选题】能实现函数返回的语句是()
A、pristar();
B、return 0
C、return
D、return 50;

7、【单选题】能实现函数调用的语句是()
A、pri_a();
B、pri_a()
C、void pri_a()
D、void pri_a();

8、【单选题】想要运行一个C程序,需要经过编辑、编译、组建、执行四个步骤,其中,经过编译后的文件名后缀是()
A、.exe
B、.c
C、.obj
D、.dll

9、【单选题】关于变量,以下说法正确的是:
A、变量必须先定义后使用
B、0X2是一个八进制常量
C、#define N 5;可以定义一个符号常量

10、【单选题】关于字符,以下说法正确的是
A、字符ASCII码值用一个字节表示,且最高位为标志0
B、字母a用%d打印的结果为65
C、字符类型和整型完全一样
D、99这个整数如果用%c则无法输出打印

11、【单选题】在C语言中,以下是合法的用户标识符的是
A、ij
B、char
C、2m
D、x-2

12、【单选题】若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()
A、1
B、1.0
C、2.0
D、2.5

13、【单选题】m、n、a、b、c、d均为1,执行(m=a>b)&&(n=c>d)后,m、n的值是()
A、0、0
B、0、1
C、1、0
D、1、1

14、【单选题】有如下语句: int x; x=012; printf("%o",x); 屏幕显示的结果是()
A、10
B、012
C、12

15、【单选题】以下选项中,不属于switch语句的关键字是()
A、break
B、case
C、for
D、default

16、【单选题】下面一段程序运行时,变量y的值为() int x=1; int y=2; if(x%2==0) { y=y+1;} else { y=y-1} printf("y=%d",y);
A、1
B、2
C、3
D、4

17、【单选题】假设int x=2;则三目表达式x>0?x+1:5的运算结果是()
A、2
B、3
C、5
D、6

18、【单选题】若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z
A、4
B、3
C、2
D、1

19、【单选题】若有int x,a,b,c; 则下列语句中合法的if语句是()
A、if(a<>b) x++;
B、if(a=<b) x++;
C、if(a!=b) x++;
D、if(a=>b) x++;

20、【单选题】若k是int型变量,下面程序段的输出结果是() int k; k=-3; if(k<=0) printf("####"); else printf("&&&&");
A、####
B、&&&&
C、####&&&&
D、有语法错误,无输出结果

21、【单选题】以下语句: a=4; b=2; c=--a*b++; d=a--*++b; 执行后,d的值是()
A、6
B、4
C、9
D、12

22、【单选题】若t为double类型,表达式t=1,t*5,t的值应是()
A、1
B、6.0
C、2.0
D、1.0

23、【单选题】表达式:209!=99的值是()
A、false
B、任意值
C、0
D、1

24、【单选题】为表示关系x>y≥z, 应使用C语言表达式是()
A、(x>y)&&y>=z
B、(x>y)&&(y>=z)
C、(x>y>=z)
D、(x>y)&(y>=z)

25、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i++) printf("%d",i); printf("%d",5); return 0; }
A、123455
B、1525354555
C、1 2 3 4 5 5
D、1 2 3 4 5 5

26、【单选题】该程序的运行结果是: #include “stdio.h” int main() { char c1=97, c2=’a’; if(c1==c2) printf("yes"); printf("no"); return 0; }
A、no
B、yes
C、yesno
D、yes no

27、【单选题】设j和k都是int类型,则以下for循环语句() for (j=0, k=-1; k=1; j++,k++) printf(“****\n”);
A、循环结束的条件不符合语法
B、是无限循环
C、循环体一次也不执行
D、循环体只执行一次

28、【单选题】以下程序的运行结果是() #include “stdio.h” int main() { int s=0;i=1; while (1) { s+=i; i++; if s>=20 { break; } } printf(“s=%d, i=%d\n”,s,i); }
A、20,6
B、s=26,i=8
C、s=20 i=7
D、s=21,i=7

29、【单选题】for (n=1; n<=10; n++) { if (n%3==0) countinue; printf(“%d”,n); } 此程序段的执行结果是()
A、12457810
B、369
C、12
D、1234567890

30、【单选题】#include <stdio.h> int main( ) { int i, j; for(i=1; i<=4; i++) { for(j=1; j<=i; j++) printf("#"); printf("\n"); } return 0; }
A、# # # # # # # # #
B、###########
C、# ## ### ####
D、# # # # # # # # # #

31、【单选题】阅读下面的代码: int x=1;int y=2; if(x%2==0) y++; else y--; printf("%d",y--); 所打印的y值是()
A、1
B、0
C、3
D、2

32、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是()
A、while循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次

33、【单选题】下面程序段的运行结果是() a=1;b=2;c=2; while(a<b<c) { t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c);
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1

34、【单选题】若i为整型变量,则以下循环执行次数是() for(i=2;i==0;) printf("%d",i--);
A、无限次
B、0次
C、1次
D、2次

35、【单选题】以下程序段: x=-1; do { x=x*x; }while(!x);
A、是死循环
B、循环体执行2次
C、循环体执行1次
D、有语法错误

36、【单选题】以下哪条符号常量的定义是正确的()
A、#defnie N 100
B、#define PI 3.14;
C、#define M x+5
D、#define MMM 99

37、【单选题】定义数组的代码如下: int array[5]; 数组的长度是()一般编译系统情况下所占内存数是()
A、5 5
B、4 5
C、5 20
D、10 10

38、【单选题】有以下代码: int i[10]={ 1,2,3}; 数组元素i[3]的值是()
A、3
B、2
C、1
D、0

39、【单选题】有以下代码: int score[100]; 则该数组第一个内存单元的地址是()
A、&score
B、&score[1]
C、score
D、score[0]

40、【单选题】关于一维数组,下列说法正确的是()
A、在定义一维数组时,数组长度可以用任意整型表达式表示
B、在定义一维数组时,数组长度不能省略
C、数组元素的下标可以用整型表达式或整型常量表示
D、数组元素的下标必须为整型常量

41、【单选题】有以下定义语句: float a[7]={3.5}; 则数组元素引用正确的语句是()
A、a[7]=a[0]+a[1];
B、a[6]*=a[6]
C、a[5]=a[0]+[a7];
D、a[3+3]=a[0];

42、【单选题】以下语句执行完毕后,运行结果是() int a[10]={ 1,2,3}; for(i=9;i>=3;i--) printf("%d",a[0]);
A、0000000321
B、0000000
C、1111111
D、0000321

43、【单选题】以下程序段的运行结果是() int a[10]={ 1,2,3,-4,5,6,7,-8,9,10},s=0,i; for(i=0;i<10;i++) { if(a[i]<0) break; s+=a[i]; } printf("%d",s);
A、6
B、7
C、31
D、14

44、【单选题】如下语句的执行结果是() int a[10]={ 1,2,3}; printf("%d",sizeof(a));
A、10
B、6
C、12
D、40

45、【单选题】下列程序的执行结果是() #include<stdio.h> int main() { int x[5]={ 1,2,3,4,5},i=0; for(i=0;i<5;i++) printf("x[%d]:%d\n",i,x[i]); return 0; }
A、x[0] 1 x[1] 2 x[2] 3 x[3] 4 x[4] 5
B、x[1] 0 x[2] 1 x[3] 2 x[4] 3 x[5] 4
C、x[0] :1 x[1] :2 x[2]: 3 x[3] :4 x[4] :5
D、x[0] ;1 x[1] ;2 x[2]:;3 x[3] ;4 x[4] ;5

46、【单选题】设有以下定义语句: int b[3][4]={ { 1},{ 4,3},{ 2,1,2}}; 则b[2][2]的值为()
A、3
B、0
C、1
D、2

47、【单选题】下列写法中,()可以实现访问数组arr的第1个元素。
A、arr[0]
B、arr(0)
C、arr[1]
D、arr(1)

48、【单选题】若inta[2][3]={ { 1,2,3},{ 4,5,6}};则a[1][1]的值为()
A、2
B、3
C、4
D、5

49、【单选题】2.以下对二维数组的定义中正确的是( )。
A、int a[4][]={ 1,2,3,4,5,6};
B、int a[][3];
C、int a[][3]= { 1,2,3,4,5,6};
D、int a[][]={ { 1,2,3},{ 4,5,6}};

50、【单选题】设有数组定义:char array[]="China";则strlen(array)的值为()
A、4
B、5
C、6
D、7

51、【单选题】设有数组定义:char array[]="China";则sizeof(array)的值为()
A、4
B、5
C、6
D、7

52、【单选题】设有数组定义:char array[]="China";则数组array所占的存储空间为()
A、4个字节
B、5个字节
C、6个字节
D、7个字节

53、【单选题】设有数组定义:char array[10]="China";则strlen(array)的值为()
A、4
B、5
C、6
D、10

54、【单选题】有以下程序段,执行后x[6]的值为() char x[10]="ABCDEFGH",y[]="abc"; strcpy(x,y);
A、F
B、a
C、G
D、\0

55、【单选题】已知大写字母A的ASCII码值是65,小写字母a的ASCII码值是97,则字符常量'\101'是()
A、字符A
B、字符a
C、字符e
D、非法的常量

56、【单选题】设有以下程序,运行时,从键盘敲入:01<回车>,程序执行结果为() #include<stdio.h> #include<string.h> int main() { char k;int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0':printf("another\n"); case '1':printf("number\n"); } } return 0; }
A、another
B、another number
C、another number another
D、another number number

57、【单选题】为了判断两个字符串s1和s2是否相等,应用使用()
A、if(s1==s2)
B、if(s1=s2)
C、if(strcpy(s1,s2))
D、if(strcmp(s1,s2)==0)

58、【单选题】已定义两个字符数组a,b,则以下输入格式正确的是()
A、scanf("%s%s",a,b);
B、get(a,b);
C、scanf("%s%s",&a,&b);
D、gets(a),ges(b);

59、【单选题】下列字符串赋值语句中,不能正确把字符串"Hello World"赋给数组的语句是()
A、char a1[]={ 'H','e ','l','l','o',' ','W','o','r','l','d',''};
B、char a2[15]; strcpy(a2,"Hello World");
C、char a3[15]; a3="Hello World";
D、char a4[15]={ "Hello World"};

60、【单选题】下面程序的运行结果是() #include <stdio.h> #include <string.h> int main( ) { char a[30]; strcpy(&a[0],"ch"); strcpy(&a[1],"def"); strcpy(&a[2],"abc"); printf("%s\n",a); return 0; }
A、chdefabc
B、cda
C、cdabc
D、abcdef

61、【单选题】设有两字符串"Good"、"Morning"分别存放在字符数组 str1[20]、str2[20]中, 下面语句中能把"Morning"连接到"Good"之后的是()
A、strcpy(str1,str2);
B、strcpy(str1, "Morning");
C、strcat(str1, "Morning");
D、strcat("Good" ,str2);

62、【单选题】关于静态变量的描述,以下说法正确的是()
A、静态变量在定义时使用static修饰符定义
B、静态变量在声明时未赋初值,其值是随机的
C、函数返回,函数中的静态变量值也将会被释放
D、static只能用来定义静态变量,不能定义静态函数

63、【单选题】关于全局变量和局部变量,以下说法正确的是()
A、全局变量和局部变量不可以重名
B、全局变量和局部变量是指变量的作用域有区别
C、如果全局变量和局部变量重名,则在该局部变量作用范围内全局变量优先有效
D、全局变量在定义时必须位于主函数之前

64、【单选题】有定义语句:auto int x; 则以下说法错误的是()
A、x是整型变量
B、x是动态变量
C、auto是可以省略的
D、x是静态变量

65、【单选题】若有下列定义: struct b { float a[5]; double c; int d;}x; 则变量x在内存中所占的字节为
A、6
B、10
C、40
D、14

66、【单选题】设有以下说明语句,则下面的叙述不正确的是 struct stu { int a; float b; } stutype;
A、struct是结构体类型的关键字
B、struct stu是用户定义的结构体类型
C、stutype是用户定义的结构体类型名
D、用户定义的a和b都是结构体成员名

67、【单选题】设有如下定义 struct ss { char name[10]; int age; char sex; } std[3],* p=std; 下面各输入语句中错误的是
A、scanf("%d",&(*p).age);
B、scanf("%s",&std.name);
C、scanf("%c",&std[0].sex);
D、scanf("%c",&(p->sex))

68、【单选题】以下程序段的执行结果为() struct cmplx { int x; int y; }com[2]={ 1,3,2,7}; printf("%d\n",com[0].y/com[0].x*com[1].x);
A、0
B、1
C、3
D、6

69、【单选题】以下程序段的执行结果是() struct DATE { int year,month,day; }today; printf("%d\n",sizeof(struct DATE));
A、6
B、12
C、3
D、24

70、【单选题】关于指针,以下说法正确的是()
A、指针就是内存单元的地址
B、内存单元的地址就是指针
C、指针可以用任何变量来存放
D、指针就是变量或数组元素所占用内存单元的首地址

71、【单选题】指针运算符是
A、*
B、&
C、%
D、%p

72、【单选题】若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为:()
A、无确定值
B、a的地址
C、512
D、511

73、【单选题】设有int a[10]={ 1,2,3},*p=&a[1];则printf("%d",*(p+1))的结果为:
A、0
B、1
C、2
D、3

74、【单选题】若p1、p2都是指向整型的指针,p1已经指向变量x,要使p2也指向x,正确的是()
A、p2=p1;
B、p2=**p1;
C、p2=&p1;
D、p2=*p1;

75、【单选题】设char b[5],*p=b; 则正确的赋值语句是()
A、b="abcd";
B、*b="abcd";
C、p="abcd";
D、*p="abcd";

76、【单选题】若有说明 int i,j=7,*p=&i; 则与i=j;等价的语句是()
A、i=*p;
B、*p=j;
C、i=&j;
D、i=**p;

77、【单选题】若有定义int *p1,*p2; 则错误的表达式是()
A、p1+p2
B、p1-p2
C、p1<p2
D、p1=p2

78、【单选题】若有定义int *p,k=4;p=&k; 则以下均代表地址的是()
A、k,p
B、&k,*p
C、&k,p
D、k,*p

79、【单选题】若希望当K的值为偶数时,表达式的值为“假”,当K的值为奇数时,表达式的值为“真”。则以下不能满足要求的表达式为( )
A、K%2 == 1
B、! (K%2==0)
C、! (K%2)
D、K%2

80、【单选题】以下程序的输出结果是( ) #include <stdio.h> #define M 3 #define N M+M int main() { int k; k=N*N*3; printf(“%d\n”,k); return 0; }
A、108
B、21
C、243
D、27

81、【判断题】#include<stdio.h>是预处理命令,它的作用是告诉 C 编译器在实际编译之前要包含 stdio.h 这个头文件。

82、【判断题】else子句可以单独使用。

83、【判断题】表达式7/2的结果是3.5。

84、【判断题】可以使用int a=b=c=3;对变量a、b、c赋同一个初值。

85、【判断题】‘a’是一个合法的字符串。

86、【判断题】gets()函数从控制台读取字符串时,会把换行符之前的所有字符都读取进来(不包括换行符本身)。

87、【判断题】printf()输出字符串时,如果没有遇到串结束符,就会继续输出后面的值。

88、【判断题】puts()函数在输出完字符串后会直接换行。

89、【判断题】C语言中可以用指定输出宽度的方式实现右对齐。

90、【判断题】%d是C语言中的一个格式说明符,表明要按十进制整数来进行输入或输出。

91、【判断题】结构体中的成员不可以单独使用()

92、【判断题】结构体只能是基本数据类型的组合()

93、【判断题】结构体变量可以作数组元素()

94、【判断题】C语言中,语句a==b;的结果是一个逻辑值()

95、【判断题】在switch语句中,每一个的case常量表达式的值可以相同()

96、【判断题】将常量3.4567按%.2f的格式显示为3.46

97、【判断题】'good'是合法的字符串常量。

98、【判断题】若a和b的类型相同,在执行了a=b;后,b中的值将丢失。

99、【判断题】一个指针变量只能指向同一类型变量。

100、【判断题】Float是C语言的关键字。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/14d799274.html发布于 2024-05-19 06:50:53
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论