C语言程序设计题库及答案_第1页
C语言程序设计题库及答案_第2页
C语言程序设计题库及答案_第3页
C语言程序设计题库及答案_第4页
C语言程序设计题库及答案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序练习题 一、选择题 1 高级语言编写的程序称( )。 A高级程序 B源程序 C目标程序 D BASIC 程序 2. 一个 C 程序的执行是从 ( )。 A 本程序的 main 函数开始,到 main 函数结束。 B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C 本程序的 main 函数开始,到本程序文件的最后一个函数结束 D 本程序文件的第一个函数开始,到本程序的 main 函数结束 3. 以下叙述正确的是 ( )。 A 在 C 程序中, main 函数必须位于程序的最前面 B C 程序的每行中只能写一条语句 C C 语言本身没有输入输出语句 D 在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误 4. 以下叙述不正确的是 ( )。 A 一个 C 源程序可由一个或多个函数组成 B 一个 C 源程序必须包含一个 main 函数 C C 程序的基本组成单位是函数 D 在 C 程序中,注释说明只能位于一条语句的后面 5 下列字符中属于键盘符号的是( )。 A B.n C.t D.b 6 下列不正确的转义字符是( )。 A B. C.074 D.0 7 下面四组选项中,均是合法的转义字符的选项是 ( )。 A n B 017 ” C 018 f xab D 0 101 x1f 8 下面四组选项中,均是不正确的八进制数或十六进制数的选项是 ( )。 A 016 0x8f 018 B oabc 017 0xa C 010 -0x11 0x16 D 0a12 7ff -123 9 不是 C 语言提供的合法关键字是( )。 A.switch B.cher C.case D.default 10 C 语言提供的合法关键字是( )。 A.next B.string C.do case D.struct 11 下面四组选项中,均是 C 语言关键字的选项是 ( )。 A auto enum include B switch typedef continue C signed union scanf D if struct type 12 下列不正确的标识符是( )。 A.-a1 B.ai C.a2_i D.int t 13 下面四组选项中,均是不合法的用户标识符的选项是 ( )。 A) A P_0 do B) float 1a0 _A C) b-a goto int D) _123 temp INT 14 C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 ( )。 A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 15 下面四组选项中,均是合法的整型常量的选项是 ( )。 A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 / 0x 16 下面四组选项中,均是不合法的浮点数的选项是 ( )。 A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3 17 下列说法中正确的是( )。 A.由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入。 B.由于 C 源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。 C.由于 C 程序是高级语言程序,因此输入后即可执行。 D.由于 C 程序是高级语言程序,因此它是由命令组成的。 18 下列方法中错误的是( )。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 19 下列数据中属于“字符串常量”的是( )。 A.“ a” B.ABC C. abc0 D. a 20.下面不正确的字符串常量是 ( )。 A) abc B ) “ 1212 ” C) “ 0” D) “ ” 21.在 PC 机中,“ axff”在内存占用的字节数是( )。 A 5 B 6 C 3 D 4 22.若 x, i, j 和 k 都是 int 型变量,则计算下面表达式后, x 的值为 ( )。 x( i 4, j 16, k 32) A) 4 B) 16 C) 32 D) 52 23.在 C 语言中(以 16 位 PC 机为例), 5 中基本数据类型的存储空间长度的排列顺序为 ( )。 A) char 0&b&c0” 的值是 ( ) 。 A.1 B.0 C.-1 D.出错 41.若已定义 x 和 y 为 double 类型,则表达式“ x=1,y=x+3/2”的值是( )。 A.1 B.2 C.2.0 D.2.5 42.表达式“ 1? (0?3:2)(10?1:0)”的值是( )。 A.3 B.2 C.1 D.0 43.设 a 为整型变量,则不能正确表达数学关系 10 a 15 的 C 语言表达式是( )。 A.1010&a=15) 44 下列表达式中符合 C 语言语法的赋值表达式是( )。 A.a=7+b+c=a+7 B.a=7+b+=a+7 C.a=(7+b,b+,a+j) D.a=7+b,c=a+7 45 若“ int n; float f=13.8;” ,则执行“ n=(int)f)%3”后, n 的值是( )。 A.1 B.4 C.4,333333 D.4.6 46 设有整型变量 x=35,则表达式“ (x&15)&(x|15)”的值是( )。 A.0 B.1 C.15 D.35 47 设 a 是 char 型变量,其值字符为 1,则把其 值变成整数 1 的表达式是( )。 A.(int)a B.int(a) C.a=a-48 D.a/(int)a 48 a=1234,b=12,c=34,则执行“ printf(“ |%3d%3d%-3d|n” ,a,b,c);” 后的输出是( )。 A.|1234 1234 | B.|123 1234 | C.|1234 12-34| D.|234 1234 | 49 设有“ int a=255,b=8;”,则“ printf(“ %x,%on” ,a,b);”输出的是( )。 A.255,8 B.ff,10 C.0xff,010 D.10,9 50 已有如下定义和输入语句,若要求 a1, a2, c1, c2 的值分别为 10, 20, A 和 B,当从第一列开始输入数据时,正确的数据输入方式是 ( )。 (注: 表示空格, 表示回车 ) int a1,a2; char c1,c2; scanf(“ %d%c%d%c” ,&a1,&c1,&a2,&c2); A) 10A 20B B) 10 A 20 B C) 10A20B D) 10A20 B 51 根据定义和数据的输入方式,输入语句的正确形式为 ( ) 。 已有定义: float f1,f2; 数据的输入方式: 4.52 3.5 A) scanf(“ %f,%f” ,&f1,&f2); B) scanf(“ %f%f” ,&f1,&f2); C) scanf(“ %3.2f,%2.1f” ,&f1,&f2); D) scanf(“ %3.2f%2.1f” ,&f1,&f2); 52 指出下面正确的输入语句是( ) A scanf (“ a=b=%d” ,&a,&b); B scanf(“ a=%d,b=%f” ,&m,&f); C scanf(“ %3c” ,c); D scanf(“ %5.2f,&f); 53 设 x,t 均为 int 型变量,则执行语句“ x=10;t=x&x10;”后, t 的值为( )。 A.不定值 B.10 C.1 D.0 54 假定所有变量均已正确定义,则下列程序段运行后 y 的值是( )。 int a=0,y=10; if(a=0) y-; else if(a0) y+; else y+=y; A.20 B.11 C.9 D.0 55 假定所有变量均已正确定义,则下列程序段运行后 x 的值是( )。 a=b=c=0; x=35; if(!a) x-; else if(b); if(c) x=3; else x=4; A.34 B.4 C.35 D.3 56 若有“ int a=1,x=1;” ,则循环语句“ while(a0;i+);”的循环执行( )。 A.无限次 B.不确定次 C.10 次 D.9 次 58 假定 i 和 j 为 int 型变量,则执行以下语句后 j的值是( )。 int i=1; switch(i+) case 1:for(j=0;j=0) break; if(x%2=1) x+=5;continue; x-=3; A.2 B.4 C.6 D.8 60 在 C 语言中,下列说法中正确的是( )。 A 不能使用“ do 语句 while(条件 )”的循环 B “ do 语句 while(条件 )”的循环必须使用“ break”语句退出循环 C “ do 语句 while(条件 )”的循环中,当条件为非 0 时将结束循环 D “ do 语句 while(条件 )”的循环中,当条件为 0 时将结束循环 61 在 C 语言语句中,用来决定分支流程的表达式是( )。 A可用任意表达式 B.只能用逻辑表达式或关系表达式 C只能用逻辑表达式 D.只能用关系表达式 62 若有以下数组说明,则数值最大的和最小的元素下标分别是( )。 int a12=1,2,3,4,5,6,7,8,9,10,11,12; A.1,12 B.0,11 C.1,11 D.0,12 63 若有以下数组说明,则 i=10;aai元素数值是( )。 int a12=1,4,7,10,2,5,8,11,3,6,9,12; A.10 B.9 C.6 D.5 64 若有 int a35=2, 2, 2, 6, 2, 6, 2,则数组 a 共有个元素:( ) A.8 B.5 C.3 D.15 65 若有 int a7=1,2,3,4,5,6,7, *p=a 则不能表示数组元素的表达式是 : ( ) A.*p B.*a C.a7 D.ap-a 66 若有以下说明,则数值为 4 的表达式是( )。 int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; A.ag-c B.a4 C.ad -c D.ad -c 67 下列语句中,正确的是( )。 A. char a3=abc , l ; B. char a3=abc , l ; C. char a3=a ,“ l” ; D. char a3=“ a” ,“ l” ; 68 下列定义的字符数组中,“ printf(“ %sn” ,str2);”的是输出是( )。 static str320=“ basic” ,“ foxpro” ,“ windows” ; A.basic B.foxpro C.windows D.输出语句出错 69 合法的数组定义是( )。 A. int a=“ string” ; B. int a5=0,1,2,3,4,5; C. char a=“ string” ; D. char a=0,1,2,3,4,5; 70设有如下字符数组定义,则合法的函数调用是( )。 char a=“ I am a student” ,b=“ techer” ; A.strcmp(a,b); B.strcpy(a,b0); C.strcpy(a7,b); D.strcat(a7,b); 71设有如下定义,则正确的叙述为 ( )。 char x=“ abcdefg” ; char y= a , b , c , d , e , f , g ; A 数组 x 和数组 y 等价 B 数组 x 和数组 y 长度相同 C 数组 x 的长度大于数组 y 的长度 D 数组 x 的长度小于数组 y 的长度 72 下列描述中不正确的是( )。 A. 字符型数组中可能存放字符串。 B. 可以对字符型数组进行整体输入、输出。 C. 可以对整型数组进行整体输入、输出。 D. 不能在赋值语句中通过赋值运算符 “ =” 对字符型数组进行整体赋值。 73设有如下二维数组定义,则不正确的元素引用是 ( )。 int a34=1,2,3,4,5,6,7,8,9,10,11,12; A.a23 B.aa001 C.a7 D.a2c - a 74对于同类型的指针变量,不可能进行的运算是( )。 A.- B.= C.+ D.= 74下列不正确的定义是( )。 A. int *p=&i,i; B.int *p,i; C int i,*p=&i; D.int i,*p; 75.设指针 x 指向的整型变量值为 25,则“ printf(“ %dn” ,+*x);”的输出是 ( )。 A.23 B.24 C.25 D.26 76 若有说明:“ char ch,*p;” ,则不能正确获得值的语句是 ( )。 A.*p=getchar(); B.p=&ch;scanf(“ %c” ,p); C.p=(char *)malloc(1);*p=getchar(); D.p=&ch;*p=getchar(); 77 以下选项中不能使指针正确指向字符串的是 ( ) A) char *ch;*ch=“ hello” B) char *ch=“ hello” C) char *ch=“ hello” ;ch=“ bye” D) char *ch” ;ch=“ hello” 78 若有说明语句“ int a5,*p=a;” ,则对数组元素的正确引用是 ( )。 A.ap B.pa C.*(p+2) D.p+2 79 若有以下定义,则不能表示 a 数组元素的表达式是 ( )。 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; A.*p B.a10 C.*a D.ap-a 80 若有以下定义,则值为 3 的表达式是 ( )。 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; A.p+=2,*(p+) B.p+=2,*+p C.P+=3,*p+ D.p+=2,+*p; 81 若有定义“ int a34;”则对数组元素 aij(0data.a D.p.data.a 99设有如下定义成的链表,则值为 6 的表达式是 ( )。 struct st int n; struct st *next; a3=5,&a1,7,&a2,9,NULL, *p=&a; A.p+ -n B.p-n+ C.(*p).n+ D.+p-n 100在 C 语言中,文件由 ( )。 A字符 (字节 )序列组成 B.记录组成 C数据行组成 D.数据块组成 101在下列语句中,将 c 定义为文件型指针的是 ( )。 A.FILE c; B.FILE *c C.file c; D.file *c; 102以读写方式打开一个已有的文本文件 file1,并且 FILE *fp,下面 fopen 函数正确的调用方式是 ( )。 A.fp=fopen(“ file1” ,“ r” ) B.fp=fopen(“ file1” ,“ r+” ) C.fp=fopen(“ file1” ,“ rb” ) D.fp=fopen(“ file1” ,“ w” ) 103 标准库函数 fputs(p1,p2)的功能是 ( )。 A 从 p1 指向的文件中读一个字符串存入 p2 指向的内存 B 从 p2 指向的文件中读一个字符串存入 p1 指向的内存 C 从 p1 指向的内存中读一个字符串写到 p2 指向的文件中 D 从 p2 指向的内存中读一个字符串写到 p1 指向的文件中 104 下列正确的预编译命令是 ( )。 A. define PI 3.14159 B. #define P(a,b) strcpy(a,b) C. #define stdio.h D.#define PI 3.14159; 105 下列命令或语句中,正确的是 ( )。 A. #define MYNAME=” ABC” B. #include stdio.h C. for(i=0;i; B.if(2); D.for(;) if(1) break; 107 设有宏定义“ #define AREA(a,b) a*b” ,则正确的“宏调用”是 ( )。 A.s=AREA(r*r) B.s=AREA(x*y) C.s=AREA D.s=c*AREA(x=3.5),(y+4.1) 108 设有以下宏定义,则执行语句“ z=2*(N+Y(5+1);”后, z 的值为 ( )。 #define N 3 #define Y(n) (N+1)*n) A.出错 B.42 C.48 D.54 109 设有以下宏定义,当 int x,m=5,n=1 时,执行语句“ IFABC(m+n,m,x);”后, x 的值为 ( )。 #define IFABC(a,b,c) c=ab?a:b A.5 B.6 C.11 D.出错 110 110下列关于指针定义的描述, _是错误的。 A指针是一种变量,该变量用来存放某个变量的地址值的。 B指针变量的类型与它所指向的变量类型一致。 C指针变量的命名规则与标识符相同。 D在定义指针时,标识符前的“ *”号表示后面的指针变量所指向的内容。 111 在函数中默认存储类型说明符的变量应该是 ( ) 存储类型。 A内部静态 B. 外部 C自动 D. 寄存器 112对以下说明语句,叙述不正确的是 ( ) 。 struct stu int a; float b; stutype; A struct 是结构体类型的关键字 B struct stu 是用户定义的结构体类型 C stutype 是用户定义的结构体类型名 D a 和 b 都是结构体成员名 113 在 C 程序中有如下语句: char *func(int x,int y); 它是 ( ) 。 A对函数 func 的定义。 B对函数 func 的调用。 C对函数 func 的原型说明。 D不合法的。 114 为了避免嵌套的条件分支语句 if-else 的二义性, C 语言规定: C 程序中的 else 总是与( )组成配对关系。 A. 缩排位置相同的 if B. 在其之前未配对的 if C. 在其之前未配对的最近的 if D.同一行上的 if 115 设有说明 double(*p1)N;其中标识符 p1 是( )。 A. N 个指向 double 型变量的指针。 B. 指向 N 个 double 型变量的函数指针。 C. 一个指向由 N 个 double 型元素组成的一维数组的指针。 D. 具有 N 个指针元素的一维指针数组,每个元素都只能指向 double 型量。 116 下列描述中不正确的是( )。 A. 字符型数组中可能存放字符串。 B. 可以对字符型数组进行整体输入、输出。 C. 可以对整型数组进行整体输入、输出。 D. 不能在赋值语句中通过赋值运算符“ =”对字符型数组进行整体赋值。 117 设有如下定义 : char *aa2=abcd,ABCD; 则以下说法中正确的是( )。 A)aa 数组成元素的值分别是 abcd和 ABCD B)aa 是指针变量 ,它指向含有两个数组元素的字符型一维数组 C)aa 数组的两个元素分别存放的是含有 4 个字符的一维字符数组的首地址 D)aa 数组的两个元素中各自存放了字符 a和 A的地址 二、填空题 1汇编语言属于面向 的语言,高级语言属于面向 的语言。 2 C 语言从源程序的书写到上机运行输出结果要经过 _、 _、 _、 _ 四个步骤。 3 C 源程序的基本单位是 。 4 C 语言中实型变量分为两种类型,是 和 。 5 C 程序设计的三种基本结构是 _、 _和 _。 6在 C 语言程序中允许出现的字符集是 、 、 和 。 7 C 语言程序是由函数构成的,其中有并且只能有 个主函数。 C 语言程序的执行总是由 函数开始,并且在 函数中结束。 8 C 语言中的逻辑值“真”是用 表示的,逻辑值“假”是用 表示的。逻辑表达式值为“真”是用 表示的,逻辑表达式值为“假”是用 表示的。 9有下列运算符: b) printf(“ *y=%dn” ,y); else printf(“ *x=%dn” ,x); 16设 i,j,k 均为 int 型变量,则执行完下面的 for 循环后, k 的值为 。 for(i=0,j=10;i”称为 运算符。 36若有以下说明和定义语句,则变量 w 在内存中所占的字节数是 。 union aa float x; float y; char c6; struct st union aa v; float w5; double ave; w; 37若有以下定义和语句,则表达式“ +p-a”的值是 。 struct wcint a; int *b; int x=11,12; y=31,32; static struct wc z=100,x,300,y,*p=z; 38 C 语言中调用 函数打开文件,调用 函数关闭文件。 39 在 C 语言程序中,对文件进行操作首先要 _;然后对文件进行操作,最后要对文件实行_操作,防止文件中信息的丢失。 40“ FILE *p”的作用是定义了一个 ,其中的“ FILE”是在 头文件中定义的。 41 若在程序中用到“ putchar()”函数,则应在程序开头写上包含命令 ,若在程序中用到“ strlen()”函数,则应在程序开头写上包含命令 。 42下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入 0来结束输入,用 i,j 来放统计数, 请填空完成程序。 void main() n,i,j; printf(“ 输入整数,以 0 结束输入 n” ); scanf(“ %d” ,&n); while if(n0) i= ; if(n void main() int n,count,max,t; count=max=0; scanf(“ %d” ,&n); do t= ; if(t=0) +count; else if(maxsk) ; printf(“ %dn” ,k); 47下面程序的功能是在 a 数组中查找与 x 值相同的元素所在位置。数据从 a1元素开始存放,请填空。 #include void main() int a11,i,x; printf(“ 输入 10 个整数: ” ); for(i=1;i void main() int c26,i; char ca; for(i=0;i=A)&(ca main() int ; a=(int *)malloc(sizeof(int); b=(int *)malloc(sizeof(int); c=(int *)malloc(sizeof(int); min=(int *)malloc(sizeof(int); printf(“ 输入三个整数: n” ); scanf(“ %d%d%d” , ); printf(“ 输出这三个整数: %d%d%dn” , ); *min=*a; if(*a*b) ; if( *c) ; printf(“ 输出最小整数: %dn” , ); 53以下程序的功能是从键盘上输入若干个字符 (以回车键作为结束 )组成一个字符串,存入一具字符数组,然后输出该字符数组中的字符串,请填空。 #include “ stdio.h” #include “ ctype.h” main() char str81, *sptr; int i; for(i=0;i #include main() char str1080, *sp; int i; for(i=0;iwp) p+; for(i=*n;ip;i-) wi= ; wp=x; +*n; 56函数 my_cmp()的功能是比较字符串 s 和 t 的大小,当 s 等于 t 时返回 0,否则返回 s 和 t的第一个不同字符的 ASCII 码差值。即当 st 时返回正值,当 s #include struct phchar name10; char tel8; main() s20; void readin(struct ph *p); void search(struct ph *p, char *x); char c10; readin(s); printf(“ 请输入被查人的姓 名: n” ); gets( ); search(s,c); void readin(struct ph *p) int i; for(i=0;itel);break; if(i=3) printf(“ 找不到 %s 的电话号码 !n” ,x); 59下面的程序用来统计文件中字符的个数。请填空 #include main() FILE *fp; long num=0; if(fp=fopen(“ fname.dat” ,“ r” )=NULL) printf(“ Cant open file! n” ); exit(0); while fgetc(fp); num+; printf(“ num=%dn” ,num); fclose(fp); 60下面程序的作用 是从磁盘文件 stu.dat 中读取 N 个学生的姓名、学号、成绩,然后在屏幕上显示输出。请将程序补充完整。 #include #define N 100 struct student char name20; int no; int score; studN; main() FILE *fp; int i; if printf(“ Can not open file!n” ); exit(0); ; for(i=0;i0;y-) if(y%3=0) printf(%d” ,-y); continue; 2 写出下列程序段的输出结果 。 main() int x=5; int y=10; printf(%dn,x+); printf(%dn,+y); 3. 阅读下列程序,写出程序运行后的输出结果。 main() int i=5; do switch (i%2) case 4:i-; break; case 6:i-; continue; i-; i-; printf(“ i=%d” ,i); while(i0); 4 下面程序的输出结果是 ? #include stdio.h main() int x=3; switch(x) case 1: case 2:printf(x3n); default:printf(x unknown); 5. 阅读下列程序,当输入为 ab*AB%cd#CD$时,写出程序运行后的输出结果。 main() char c; while(c=getchar()!=$) if(A #include main() char str1080,c80; int i; for(i=0;i #include main() char a1080,c80; int i,j,k; for(i=0;i main() int i,j; float a33,b33,c33,x; for(i=0i main() char str=” SSSWILTECHllllWlWALLMPl” ; int k; char c; for(k=2;(c=strk)!= n;k+) switch(c) case A:putchar(a); continue; case l:break; case l:while(c=str+k!= l&c!= 0); case 9:putchar(#); case E: case L:continue; default:putchar(c); continue; putchar(*); printf(“ n” ); 10. 说明下列程序的功能。 #include main() int i,j; float a33,b33,x; for(i=0;i char s=” ABCD” ; main() char *p; for(p=s;p main() int i,b,c,a=1,10,-3,-21,7,13,*p_b,*p-c; b=c=1; p_b=p_c=a; for(i=0;i*(a+i) c=*(a+i); p_c=&ai; i=*a; *a=*p_b; *p_b=i; i=*(a+5); *(a+5)=*p_c; *p_c=i; printf(“ %d,%d,%d,%d,%d,%d,n” ,a0,a1,a2,a3,a4,a5); 14. 阅读下列程序,写出程序的运行后的结果。 #include void main() char *alpha4=” ABCD” ,” EFGH” ,” IJKL” ,” MNOP” ; char *p; int i; p=alpha0; for(i=0;i main() int id; char *name; float sf; a,*p=&a; int i=a.id=1998; char *s==” Window 98” ; float f=a.sf=1800; printf(“ %d is %s sal %fn” ,i,s,f); printf(“ %d is %s sal %fn” ,p-id,p-name,p-sf); 18. 阅读下列程序,写出程序的运行结果。 #include void main() int n; struct st *next; a3=5,&a1,7,&a2,7,&a0,*p=a; int i; for(i=0;inext; printf(“ p-n=%dn” ,p-n); 19. 读程序,写功能。 #include main() FILE *fp; int b=0; char ch; if(fp=fopen(” fname.txt” ,” r” )=NULL) printf(“ Can not open file!n” ); exit(0); while(!feof(fp) ch= fgetc(fp); if(ch=) b+=1; printf(” b=%dn” ,b); fclose(fp); 20假定在当前盘当前目录下有两个文本文件,其名称和内容如下: 文件名 a1.txt a2.txt 内容 121314# 252627# 写出下列程序运行后的输出结果。 #include main() FILE *fp; void fc(FILE *fp1); if(fp=fopen(” a1.txt” ,” r” )=NULL) printf(” Can not open file!n” ); exit(1); else fc(fp); fclose(fp); if(fp=fopen(” a2.txt” ,” r” )=NULL) printf(” Can not open file!n” ); exit(1); else fc(fp); fclose(fp); void fc(FILE *fp1) char c; while(c=fgetc(fp1)!=#) putchar(c); 21阅读下列程序,写出运行结果。 #define M 5 #define N M*3+4 #define MN N*M #include main() printf(” %d,%dn” ,2*MN,MN/2); 22阅读下列程序,写出运行结果。 #define EXCH(a,b) int t; t=a;a=b;b=t; #include main() int x=5, y=9; EXCH(x,y); printf(” x=%d,y=%dn” ,x,y); 23 下列程序的输出结果是( )。 char *p1=abcd, *p2=ABCD, str50=xyz; strcpy(str+2,strcat(p1+2,p2+1); printf(%s,str); 24 下列程序的输出结果 a 的值为 ( )。 int a5=2,4,6,8,10,*P,* *k; p=a; k=&p; printf(%d,*(p+); printf(%dn,* *k); 25 下列程序的输出 a 结果是( )。 for (a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; 五简答题 1 字符常量与字符串常量有什么区别? 2 C 语言的词类主要分为哪几种? 3 C 语言为什么要规定对所有用到的变量要“先定义,后使用”。这样做有什么好处? 4 C 语言提供了的基本数据类型和构造数据类型有哪些? 5 C 语言中的语句有哪几类?分别有什么功能? 6 什么是表达式,怎么区别表达式和表达式语句? 7 什么是算术表达式,什么是关系表达式,什么是逻辑表达式? 8 C 语言规定了哪几种基本的程序结构? 9 若循环体中的 switch 语句内有 break 语句,它的作用是什么?若 switch 语句中有循环语句,内有 break

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论