版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大学计算机 C语言期末复习题(一) 附带答案一、单项选择题1. 以下不正确的C语言标识符是( )。A. ABC B. abc C. a_bc D. ab.c2以下正确的C语言标识符是( )。A. %k
2、; B. a+b C. a123 D. test!3. 一个C程序的执行是从( )。Amain( )函数开始,直到main( )函数结束 B第一个函数开始,直到最后一个函数结束C第一个语
3、句开始,直到最后一个语句结束 Dmain( )函数开始,直到最后一个函数结束4. 在C程序中,main( )的位置( )。A必须作为第一个函数 B必须作为最后一个函数 C可以任意 D必须放在它所调用的函数之后5C语言源程序的基本单位是( )。 A过程 B.函数 C.子程序 D.标识符6以下结果为整数的表达式(设有int i;char c;float f;)(
4、60; ). A.i+f B.i*c C.c+f D.i+c+f7.以下不正确的语句(设有int p,q)是( )。 Ap*=3;
5、60; B.p/=q; C.p+=3; D.p&&=q;8.以下使i的运算结果为4的表达式是( )。Aint i=0,j=0; (i=3,(j+)+i);B. int i=1,j=0; j
6、=i=(i=3)*2); C. int i=0,j=1; (j=1)? (i=1): (i=3); D. int i=1,j=1; i+=j+=2;9.设char ch;以下正确的赋值语句是( )。Ach='123' Bch='xff' Cch='08' Dch=""10设n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。A.0
7、0; B.3 C.2 D.111.逗号表达式(a=3*5,a*4),a+15的值为( ),a的值是( )。A.15
8、 B.60 C.30 D.不确定A.60 B.30 C.15 D.9012.如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(
9、; ).A.1 B.2 C.3 D.413.设int n=3;则+n的结果是( ),n的结果是( )。A.2
10、160;B.3 C.4 D.514.设int n=2;则+n+1=4的结果是( ),n的结果是( )。A.true B.false C.1 &
11、#160; D.0 A.1 B.2 C.3 D.415.设int a=2,b=2;则a+b的结果是( ),a的结果是( ),b的结果是( )A.2
12、 B.3 C.4 D.516.语句(1,2,3,4)的结果是( )。A.1 B.2 C.3 D.417.设int a=04,b;则执行b=a<<1;语句后,b
13、的结果是( )。A.4 B.04 C.8 D.1018.sizeof(double)是一个( )表达式。A.整型 B.双精度
14、160; C.不合法 D.函数调用19.在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果是( )类型的数据。这四种类型数据的转换规律是( )。A.int
15、60; B.char C.unsigned D.longA.int->unsigned->long->char B.char->int->long->unsigned C.char->int->unsigned->long D.char->unsig
16、ned->long->int20. 有如下程序段: int a1,a2; char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 若要求a1,a2,c1,c2的值分别为10,20,A,B正确的数据输入是( )。 A.10A 20B<CR> B.10 A 20 B<
17、;CR> C.10 A20B<CR> D.10A20 B<CR>21. 有如下程序,若要求a1,a2,c1,c2的值分别为10、20、A、B,正确的数据输入是( )。 main() int a1,a2; char c1,c2; scanf("%d%d",&am
18、p;a1,&a2); scanf("%c%c",&c1,&c2); A.1020AB<CR> B.10 20<CR> AB<CR> C.10 20 ABC<CR> D.10 20AB<CR>22. 有如下程序,输入数据:12345 678<CR>后,x的值是(
19、60; ),y的值是( )。 #include<stdio.h> main() int x; float y; scanf("%3d%f",&x,&y); &
20、#160; (1) A.12345 B.123 C.45 D.345 (2) A.45.000000 B.45678.000000 c.678.000000
21、160;D.123.00023. 有如下程序,输入数据:12 345<CR>后,x的值是( ),y的值是( )。 #include<stdio.h> main() int x; float y; scanf(&quo
22、t;%3d%f",&x,&y); (1) A.12 B.123 C.12345 D.0 (2) A.12.000000 B.345.000000
23、 C.12345.000000 D.0.000000024. 有如下程序,对应正确的数据输入是( )。 #include<stdio.h> main() float a,b; scanf("%f%f",&a,&b);
24、 printf("a=%f,b=%fn",a,b); A. 2.04<CR> 5.67<CR> B. 2.04,5.67<CR> C. A=2.04,b=5.67<CR> D. 2.045.67<CR>25. 有如下输入语句:scanf("a=%d,b=%d,c=%d",&a
25、,&b,&c);为使变量a的值为1,b的值为3?琧的值为2,从键盘输入数据的正确形式应是( )。 A.132<CR> B.1,3,2<CR> C.a=1,b=2,c=3<CR> D.a=1 b=2 c=3<CR>26. 以下程序的执行结果是( )。 &
26、#160; #include<stdio.h> main() int sum,pad; sum=pad=5; pad=sum+; pad+; +pad; printf("%dn",pad); &
27、#160; A.7 B.6 C.5 D.427. 以下程序的执行结果是( )。 #include<stdio.h> main() int i=010,j=10;
28、 printf("%d,%d,%dn",+i,j,j-); A.11,9,10 B.9,9,10 C.010,9 ,9 D.10,9,928. 已知字母A的ASCII码是65,以下程序的执行结果是( )。 #include<stdio.h&g
29、t; main() char c1='A',c2='Y' printf("%d,%dn",c1,c2); A.A,Y B.65,65
30、160; C.65,90 D.65,8929. 以下程序的执行结果是( )。 #include<stdio.h> #include<math.h> main() int a=1,b=4,c=2;
31、0; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf("%fn",z); A.14.000000 B.15.000000
32、60;C.13.700000 D.14.90000030.为了避免嵌套的if-else语义的二义性,C语言规定else总是与( )A. 缩排位置相同的if B. 在其之前未配对的的if C. 在其之前未配对的最近的if D. 同一行上的if31.选择出合法的if语句(设int x,y;)( ) A. if(a=b) x+ ;B. if(a=<b) x+; C. if(a<>b) x+; D. if(a=>b) x+;32.选择出合法的if语句(设int x,a
33、,b,c;)( )A. if(x!=y) if(x>y) printf("x>yn"); else printf("x<yn"); else printf("x=yn");B. if(x!=y) if(x>y) printf("x>yn") else printf("x<yn"); els
34、e printf("x=yn");C. if (x!=y) if(x>y) printf("x>yn"); else printf("x<yn") else printf("x=yn");D. if(x!=y) if(x>y) printf("x>yn"); else printf("x<yn") else printf(
35、"x=yn");33.C语言用( )表示逻辑"真"值。Atrue B. t或y C.非零整数值 D.整数034.以下for循环是( )。for(x=0,y=0;(y!=123)&&(x<4);x+); A.无限循环 B.循环次数不定 C.执行4次 D.执行3次35.下面有关for循环的正确描述是( )。A. for 循环只能是用于循
36、环次数已经确定的情况。 B. for 循环是先执行循环语句,后判断表达试。C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来36.对于for(表达式1; ; 表达式3)可理解为( )。A. for(表达式1; 0; 表达式3) B. for(表达式1; 1; 表达式3)C. for(表达式1; 表达式1; 表达式3) D. for(表达式1; 表达式3; 表达式3)37.C语言中( )。A. 不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环
37、,当while语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while语句中的表达式值为零时结束循环38C语言中while和do-while循环的主要区别是()A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句39有以下程序:# include<stdio.h># define N 6main()char cN;int i=0; for (;i<N;ci=getchar(),i+);for(i=0;
38、i<N;putchar(ci),i+);输入以下三行,每行输入都是在第一列上开始:a<CR>b<CR>cdef<CR>程序的输出结果是()。A. abcdef B.a C.a D.a bb b ccd cdef &
39、#160; d e f40.以下程序的输出结果是()。 #include<stdio.h> main()int i;for (i=1;i<=5;i+)if(i%2) printf("*");else continue;printf("#");printf("$n");A.* # * #
40、* # $ B.# * # * # * $ C.* # * # $ D.# * # * $41.以下for语句构成的循环执行了()次。 #include<stdio.h> #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() int i,n=0; for (i=1;i<=NUM;i+) n+; printf("%d",n); printf("n"); A.5 B.6 C.8 D.9 42.以下程序的输出结果是().
41、 include<stdio.h> main() int num=0; while (num<=2) num+; printf("%dn",num); A.1 B.1 C.1 D.1 2 2 2 3 3 4 43.以下程序段()。x=-1; do x=x*x; while(!x); A.是死循环B.循环执行二次 C.循环执行一次D.有语法错误 44. 以下关于数组的描述正确的是( ) A. 数组的大小是固定的,但可以有不同的类型的数组元素。 B. 数组的大小是可变的,但所有数组元素的类型必须相同。 C. 数组的大小是固定的,所有数组元素的类型必须相同。 D
42、. 数组的大小是可变的,可以有不同的类型的数组元素。 45.以下一维数组a的正确定义是()A.int a(10); B.int n=10,an; C.int n; D.#define SIZE 10 scanf("%d",&n); int aSIZE; int an; 46.在定义int a10;之后,对a的引用正确的是() A.a10 B.a6.3 C. a(6) D.a10-10 47.以下对二维数组a进行正确初始化的是()A.int a23=1,2,3,4,5,6; B.int a3=1,2,3,4,5,6; C.int a2=1,2,3,4,5,6; D.i
43、nt a2=1,2,3,4; 48.以下对二维数组a进行不正确初始化的是()A.int a3=3,2,1,1,2,3; B.int a3=3,2,1,1,2,3; a23=3,2,1,1,2,3; D.int a=3,2,1,1,2,3; 49.以下对字符数组word进行不正确初始化的是()A.static char word='Turbo0' B.static char word='T','u','r','b','o','0' C.static char word=&q
44、uot;Turbo0" D.static char word="Turbo0" 50.在定义int a54;之后,对a的引用正确的是()A.a24 B.a50 C.a00 D.a0,0 51.在定义int a23;之后,对a的引用正确的是()A.a(1,2) B.a1,3 C.a1>2!1 D.a20 52.以下正确的定义语句是() A.int A'a' B.int A3,4; C.int A3; D.int A10; 53.以下给字符数组str定义和赋值正确的是()A.char str10; str="China" B.
45、char str="China" C.char str10; strcpy(str,"abcdefghijklmn"); D.char str10="abcdefghijklmn"); 54.在执行int a3=1,2,3,4,5,6;语句后,a10的值是()A.4 B.1 C.2 D.5 55.在执行int a3=1,2,3,4;语句后,a13的值是( ) A.3 B.4 C.0 D.2 56.在执行 char str10="China0"strlen(str)的结果是( ) A.5 B.6 C.7 D.9 57
46、.设int *p,i;以下正确的语句是() A. *p=10; B. i=p; C. i=*P; D. p=2*p+1; 58.设char s10;*p=s;以下不正确的表达式是() A. p=s+5; B. s=p+s; C. s2=p4; D. *p=s0; 59.设 char *s;以下正确的表达式是() A. s="computer" B. *s="computer" C. *s="computer" D. *s='c' 60.设有说明int (*ptr)M;其中ptr是() A. M个指向整型变量的指针 B.
47、 指向M个整型变量的函数指针 C. 一个指向具有M个整型元素的一维数组的指针 D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量 61.选择出i的正确结果() int i; char *s="a045+045b" for (i=0;*s+;i+) A. 5 B. 8 C. 11 D. 12 62.如下程序的执行结果是() #include<stdio.h> main() int i; char *s="an35b" for (i=0;*s+;i+) printf("i=%dn",i); A. i=5 B. i=
48、6 C.i=7 D. i=8 63.如下程序的执行结果是() #include<stdio.h> main() int i; char *s="an" for(i=0;si!='0'i+) printf("%c",*(s+i); A. a B. a C. a D. a 64.如下程序的执行结果是() #include<stdio.h> main() int i; char *s=""" for (i=0;si!='0'i+) printf("%c",
49、*(s+i); A. " B. a" C.""" D. 不正确 65.如下程序的执行结果() #include<stdio.h> main() static int a=1,2,3,4,5,6; int *p; p=a; *(p+3)+=2; printf("%d,%dn",*p,*(p+3); A. 1,3 B. 1,6 C. 3,6 D. 1,4 66.如下程序的执行结果是() #include<stdio.h> main() static int a4=1,3,5,7,9,11,13,15,17
50、,19,21,23; int (*p)4,i=1,j=2; p=a; printf("%dn",*(*(p+i)+j); A. 9 B. 11 C. 13 D. 17 67.以下delspace函数的功能是删除字符串s中的所有空格(包括Tab,回车符和换行符)。请选择正确的编号填空 delspace(char *s) int i,t ; char c80; for(i=0,t=0; (1) ;i+) if (!isspace ( (2) ) ) ct+=si; ct='0' strcpy(s,c); (1) A. si B. !si C. si='0
51、' D. si='0' (2) A. s+i B. *ci C. *(s+i) D. *(c+i) 68.以下delnum函数的功能是删除字符串s中的数字字符。请选择正确的编号填空 delnum(char *s) int i,j; for (i=0,j=0;si!='0'i+) if( (1) ) sj=si; j+; (2); (1) A. sj<'0'|sj>'9' B. si<'0'|si>'9' C. sj<'0'&&sj
52、>'9' D. si<'0'&&si>'9' (2) A. sj='0' B. si='0' C. sj+='0' D. si+='0' 69.以下comp函数的功能是按词典顺序比较两个字符串s和t的大小。如果s大于t则返回正值,等于就返回零,小于则返回负值。请选择正确的编号填空。 comp(char *s,char *t) for(;*s=*t;_) if (*s='0') return(0); return (*s-*t); A.
53、 s+ B. t+ C. s+;t+ D. s+,t+ 70.C语言中规定函数的返回值的类型是由( )。 Areturn语句中的表达式类型所决定 B调用该函数时的主调用函数类型所决定 C调用该函数时系统临时决定 D在定义该函数时所指指定的函数类型所决定 71.对于C语言的函数,下列叙述中正确的是( )。 A. 函数的定义不能嵌套,但函数调用可以嵌套 B. 函数的定义可以嵌套,但函数调用不能嵌套 C. 函数的定义和调用都不能嵌套 D. 函数的定义和调用都可以嵌套 72.有一个函数的定义如下: void newprint(double (*f)(),double x) printf("%
54、fn",(*f)(x); 则调用正确的语句是( )。 Anewprint(sin,0.5); Bnewprint(sin(0.5); Cnewprint(&sin,0.5); Dnewprint(&sin)(0.5); 73.以下函数调用语句中含有( )个实参。 func(exp1,exn2),(exp3,exp4,exp5); A.1 B.2 C.4 D.5 74.以下程序的输出结果是( )。 #include<stdio.h> main() int k=4,m=1,p; p=func(k,m); printf("%d",p); p=
55、func(k,m); printf("%dn",p); func(a,b) int a,b; static int m=0,i=2; i+=m+1; m=i+a+b; return(m); A.8,17 B.8,16 C.8,20 D.8,8 75.以下程序的输出结果是( )。 #include<stdio.h> main() static char *a="MORNING","AFTERNOON","EVENING" char *n; n=a; func(n); func(char *m) +m; p
56、rintf("%sn",*m); A.为空 B.MORNING C.AFTERNOON D.EVENING 76.以下程序的输出结果是( )。 main() int a=2,i; for (i=0;i<3;i+) printf("%d",func(a); func(int a) int b=0; static c=3; b+;c+; return(a+b+c); A.777 B.7 7 7 C.789 D.7 8 9 77.以下程序的输出结果是( )。 int i=10; main() int j=1; j=func(); printf("
57、;%d,",j); j=func(); printf("%d",j); func() int k=0; k=k+i; i=i+10; return(k); A. 0,0 B. 10,20 C. 10,10 D. 20,20 78.以下程序的输出结果是( )。 main() int a=3,b=2,c=1; c-=+b; b*=a+c; int b=5,c=12; c/=b*2; a-=c; printf("%d,%d,%d,",a,b,c); a+=-c; printf("%d,%d,%dn",a,b,c); A. 3,2,
58、1,2,3,-2 B. 2,5,1,3,5,12 C. 2,5,1,2,3,-2 D. 3,2,1,3,5,12 79.以下程序的输出结果是( )。 func1(int a,int b) return(a+b); func2(int a,int b) return(a-b); func3(int(*t)(),int x,int y) return(*t)(x,y); main() int x,(*p)(int,int); p=func1; x=func3(p,9,3); x+=func3(func2,8,3); printf("%dn",x); A.9 B.17 C.3 D
59、.27 80.在说明一个结构体变量时系统分配给它的存储空间是() A.该结构体中第一个成员所需存储空间 B.该结构体中最后一个成员所需存储空间 C.该结构体中占用最大存储空间的成员所需存储空间 D.该结构体中所有成员所需存储空间的总和 81.在说明一个共用体变量时系统分配给它的存储空间是() A.该共用体中第一个成员所需存储空间 B.该共用体中最后一个成员所需存储空间 C.该共用体中占用最大存储空间的成员所需存储空间 D.该共用体中所有成员所需存储空间的总和 82.使用共用体union的目的是() A.将一组数据作为一个整体,以便于其中的成员共享同一存储空间 B.将一组具有相同数据类型的数据作
60、为一个整体,以便于其中的成员共享同一存储空间 C.将一组相关数据作为一个整体,以便程序中使用 D.将一组具有相同数据类型的数据作为一个整体,以便程序中使用 83.以下关于typedef的叙述不正确的是() A.用typedef可以定义各种类型名,但不能用来定义变量 B.用typedef可以增加新类型 C.用typedef只是将已存在的类型用一个新的名称来代表 D.使用typedef便于程序的通用 84.在下列程序段中,枚举变量c1和c2的值分别是( )和( ) main() enum color red,yellow,blue=4,green,white c1,c2; c1=yellow; c
61、2=white; printf("%d,%dn",c1,c2); A.1 B.3 C.5 D.6 85.若有以下说明和语句: struct worker int no; char *name; work,*p=&work; 则以下引用方式不正确的是() A.work.no B.(*p).no C.p->no D.work->no 86.以下程序执行后的正确结果是() struct tree int x; char *s; t; func(struct tree t) t.x=10; t.s="computer" return(0);
62、main() t.x=1; t.s="minicomputer" func(t); printf("%d,%sn",t.x,t.s); A.10,computer B.1,minicomputer C.1,computer D.10,minicomputer 87.有如下定义: struct date int year,month,day; ; struct worklist char name20; char sex; struct date birthday; person; 对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是( )
63、A.year=1958 B.birthday.year=1958 c.person.birthday.year=1958 D.person.year=1958 88.在如下结构体定义中,不正确的是( ) A.struct student int no; char name10; float score; B.struct stud20 int no; char name10; float score; C.struct student int no; char name10; float score; stud20; D.struct int no; char name10; float sc
64、ore; stud100; 89.以下程序的功能是读入一行字符,且每个字符存入一个结点,按输入顺序建立一个链表的结点序列,然后再按相反顺序输出并释放全部结点。请选择正确的编号填空。 #include<stdio.h> #include<alloc.h> #define getnode(type) (type *)malloc(sizeof(type) #define NULL 0 main() struct node char info; struct node <1> *top,*p; char c; top=NULL; while(c=getchar()
65、!='n') p=getnode(<2>); p->info=c; p->link=<3> top=<4> while(top!=NULL) p=<5> top=p->link; printf("%c",p->info); free(p); <1>A.*p B.*link C.*top D.link <2>A.top B.p C.node D.struct node <3>A.top B.top->link C.p D.p->link &l
66、t;4>A.link B.p C.p->link D.top->link <5>A.p->link B.top->link C.top D.link 90.阅读以下程序,请选择正确的编号填空。 #include<stdio.h> typedef struct str1 char c5; char *s; st; main() static st s12="ABCD","EFGH","IJK","LMN" static struct str2 st sr; int
67、 d; s2="OPQ","RST",32767; st *p=&s10,&s11; printf("%cn",p0->c1); 输出为(<1>) printf("%sn",(+p0)->s); 输出为(<2>) printf("%cn",s2.sr.c2); 输出为(<3>) printf("%dn",s2.d+1); 输出为(<4>) <1>A.M B.J C.D D.B <2&
68、gt;A.ABCD B.EFGH C.LMN D.IJK <3>A.Q B.V C.Y D.Y <4>A.-32768 B.32768 C.65535 D.0 91.当已存在一个abc.txt文件时,执行函数fopen("abc.txt","r+")的功能是( )。 A. 打开abc.txt文件,清除原有的内容。 C. 打开abc.txt文件,只能读取原有内容。 B. 打开abc.txt文件,只能写入新的内容。 D. 可以读取和写入新的内容。 92.fopen( )函数的mode取值"r"和"w&qu
69、ot;时,它们之间的差别是( )。 A."r"可向文件读入,"w"不可向文件读入。 B."r" 不可向文件写入,"w"可向文件写入。 C."r" 不可由文件读出, "w"可由文件读出。 D.文件不存在时,"r"建立文件,"w"出错。 93.fopen( )函数的mode取值"w+"和"a+"时都可以写入数据,它们之间的差别是( )。 A."w+"时可在中间插入数据,而"
70、;a+"时只能在末尾追加数据。 B."w+"时和 "a+"时只能在末尾追加数据。 C.在文件存在时,"w+"时清除原文件数据,而 "a+"时保留原文件数据。 D."w+" 时不能在中间插入数据,而"a+"时只能在末尾追加数据。 94.若用fopen( )函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是( )。 A. "r+" B. "wb+" C. "a+" D. "ab&quo
71、t; 95.若用fopen( )函数打开一个已存在的文本文件,保存该文件原有数据且可以读也可以写,则文件打开模式是( )。 A. "r+" B. "w+" C. "a+" D. "a" 96.使用fseek函数可以实现的操作是( )。 A改变文件的位置指针的当前位置 B.文件的顺序读写 C文件的随机读写 D.以上都不对 97.以下不能将文件位置指针重新移动到文件开头位置的函数是( )。 A rewind(fp); B fseek(fp,0,0); C fseek(fp,-(long)ftell(fp),1); D
72、fseek(fp,0,2); 98.fread(buf,64,2,fp)的功能是( )。 A.从fp文件流中读出整数64,并存放在buf中; B.从fp文件流中读出整数64和2,并存放在buf中; C.从fp文件流中读出64个字节的字符,并存放在buf中; D.从fp文件流中读出2个64个字节的字符,并存放在buf中; 99.检测文件流的文件位置指针在文件头的条件是( )。 A. fp=0 B. ftell(fp)=0 C. fseek(fp,0,SEEK_SET) D. feof(fp) 100C语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用( )来提前解除宏定义的作用。
73、A#ifdef B.#endif C.#undefine D.#undef 101.以下不正确的叙述是( ) A 预处理命令行都必须以"#"开始 B 在程序中凡是以"#"开始的语句行都是预处理命令行 C C程序在执行过程中对预处理命令进行处理 D #define ABCD是正确的宏定义 102以下正确的叙述是( ) A 在程序的一行中可以出现多个有效的预处理命令行 B 使用带参宏时,参数的类型应与宏定义时的一致 C 宏替换不占用运行时间,只占编译时间 D 宏定义不能出现在函数内部 103以下不正确的叙述是( ) A宏替换不占用运行时间 B宏名无类型 C宏
74、替换只是字符替换 D宏名必须用大写字母表示 104以下正确的叙述是( ) A C语言的预处理功能是指完成宏替换和包含文件的调用 B 预处理命令只能位于C源程序文件的首部 C 凡是C源程序中行首以"#"标识的控制行都是预处理命令 D C语言的编译预处理就是对源程序进行初步的语法检查 105在文件包含预处理语句(#include)的使用形式中,当之后的文件名用""(双括号)括起时,寻找被包含文件的方式是( ) A 直接按系统设定的标准方式搜索目录 B 先在源程序所在目录搜索,再按系统设定的标准方式搜索 C 仅仅搜索源程序所在目录 D 仅仅搜索当前目录 106
75、在文件包含预处理语句(#include)的使用形式中,当之后的文件名用< >(尖括号)括起时,寻找被包含文件的方式是( ) A直接按系统设定的标准方式搜索目录 B先在源程序所在目录搜索,再按系统设定的标准方式搜索 C仅仅搜索源程序所在目录 D仅仅搜索当前目录 107C语言的编译系统对宏命令的处理( ) A 在程序运行时进行的 B 在程序连接时进行的 C 和C程序中的其他语句同时进行编译的 D 在对源程序中其他语句正式编译之前进行的 108以下程序的输出结果是( ) #define MIN(x,y) (x)<(y)?(x):(y) main( ) int i ,j ,k; i=
76、10; j=15; k=10*MIN(i,j) printf("%d",k); A.15 B.100 C.10 D.150 109.以下程序的输出结果是( ) #include<stdio.h> #define ADD(y) 3.54+y #define PR(a) printf("%d",(int)(a) #define PR1(a) PR(a);putchar('n') main( ) int i=4; PR1(ADD(5)*i ); A.20 B.23 C.10 D.0二、填空题(将正确的答案填在相应的空中) 1.一个C
77、程序有且仅有一个_ 函数。 2.一个C源程序有_个main()函数和_个其他函数。 3结构化设计中的三种基本结构是 _ 。 4C程序的执行是从_开始执行的。 5C语言源程序的语句分隔符是_ 。 6C语言开发的四个步骤是_ 。 7表达式10/3的结果是 _ 。 8表达式10%3的结果是_ 。 9. 定义 int x,y;执行y=(x=1,+x,x+2);语句后,Y的值是-。 10设int x=9,y=8;表达式x=y+1的结果是_。 11. 设int x=10,y,z;执行y=z=x; x=y=z后,变量x的结果是_。 12. 设int a=1,b=2,c=3,d;执行d=!(a+b+c)后,d
78、的结果是_。 13设int x;当x的值分别为1,2,3,4时,表达式(x&1=1)?1:0的值分别是_,_ _,_,_。 14. 以下程序的执行结果是_。 #include<stdio.h> main() float f=3.1415927; printf("%f,%5.4f,%3.3f",f,f,f); 15. 以下程序的执行结果是_。 #include<stdio.h> main() float f=3.5; printf("%f,%g",f,f); 16. 以下程序的执行结果是_。 #include<stdi
79、o.h> main() float f=31.41592; printf("%f,%e",f,f); 17. 以下程序的执行结果是_。 #include<stdio.h> main() char c='A'+10; printf("c=%cn",c); 18.以下程序的执行结果是_ #include <stdio.h> main() int a,b,c; a=2;b=3;c=1; if(a>b) if(a>c) printf("%dn",a); else printf("%dn",b); printf("endn"); 19.以下程序的执行结果是_ #include <stdio.h> main() int a,b,c,d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 借名买车合同协议
- 茶叶订精合同范本
- 茶楼装修合同范本
- 草坪喷灌合同范本
- 街道绿化合同范本
- 订购报纸协议合同
- 调岗劳动合同协议
- 配方餐饮合同范本
- 进口沙发合同范本
- 邮政员工合同范本
- 学员美育综合素养评价
- “北京礼物”创新发展白皮书(2025)-
- 2025年历城语文面试题目及答案
- 医药地区经理区域管理
- 2025重庆明德融资租赁有限公司招聘2人笔试历年常考点试题专练附带答案详解试卷2套
- 护士岗前培训试题及答案
- 歌唱中的共鸣课件
- 2025年护理质量管理评价标准考核试题(附答案)
- 质量基础知识培训要点课件
- 2025年教师招聘考试教育理论综合知识模拟试题及答案(共五套)
- 知道网课《毛泽东思想和中国特色社会主义理论体系概论(湖南师范大学)》课后章节测试答案
评论
0/150
提交评论