C语言程序设计(02600)复习题
- 格式:doc
- 大小:52.00 KB
- 文档页数:8
期末试卷一一、单项选择题(每题1分,共45分)1.在计算机系统中,可以执行的程序是()A.源程序B.汇编语言程序C.机器语言程序D.ASCII码2.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.下列对C语言程序的书写格式的描述,()是正确的。
A.C语言程序中,每行只能写一条语句B.C语言程序书写时通常采用“缩排”方式C.C语言程序的书写中要求每行都要以分号作结尾D.注释行必须放在程序的头或程序的尾4.启动TC V2.0环境后,打开一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.C语言源程序文件file.c经系统编译、连接后,生成的文件名为()A.file.c B.file C.file.obj D.file.exe6.下列选项中,合法的C语言标识符是()A._abc*2 B._ch_er C.a-1 D.a7&b7.以下所列的C语言常量中,错误的是()A.0xFF B.1.2e0.5 C.2L D.’\72’8.以下变量x,y,t均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()A.x/y*z B.x*(1/(y*z))C.x/y*1/z D.x/y/z9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段: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<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f",&x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()#include<stdio.h>main( ){ float a,b;scanf("%f%f",&a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio.h>main( ){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()#include<stdio.h>main( ){ int a=2,b=5;printf("a=%%d,b=%%d\n",a,b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0,则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10]; 则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-10]32.下面程序的运行结果是()main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.前面都不正确38.下列变量中,哪类变量的生存期和作用域是不一致的()A.自动变量B.定义在文件最前面的外部变量C.静态内部变量D.寄存器变量39.C语言中形参的缺省存储类别是()。
《C语言程序设计》复习题一、填空题1、 C 语言的源程序必须通过编译和链接后,才能被计算机执行。
2、 C 语言的源程序必须通过编译和连接后,才能被计算机执行。
3、C语言中的标示符可分为关键字、拥护标示符和预定义标识符3类。
4、C语言中的标示符可分为关键字、用户标识符和预定义标示符3类。
5、在C语言中,用关键字float 定义单精度实型变量。
6、在C语言中,用关键字double 定义双精度实型变量。
7、在C语言中,用关键字char 定义字符型变量。
8、在C语言的赋值表达式中,赋值好左边必须是变量。
9、设C语言中的一个int型数据在内存中占2个字节,则int型数据的取值范围为-32768--32768 。
10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为 1 。
11、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为-60 。
12、若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
13、在程序运行过程中,其值不能被改变的量称为常量。
14、C程序中定义的变量,代表内存中的一个存储单元。
15、C语言中,int类型数据字符占内存 2 个字节。
16、C语言中,char类型数据占内存 1 个字节。
17、C语言的字符常量是用单引号括起来的一个字符。
18、语句printf(“\n”);的作用是换行输出。
19、10/3的结果是3 。
20、10%3的结果是 1 。
21、C语句的最后用;结束。
22、要使用putchar函数,在#include命令行中应包含的头文件是#include<stdio.h>。
23、要使用getchar函数,在#include命令行中应包含的头文件是#include<stdio.h>。
24、为表示关系|x|≥9;应使用的C语言表达式是x<=-9 || x>=9 。
25、为表示关系|x|≤9;应使用的C语言表达式是x>=-9&&x<=9 。
C语言程序设计目录第一章C语言程序设计概述 (1)一、主要内容 (1)二、练习题部分 (1)三、参考答案 (3)第三章数据类型、运算符和表达式 (4)一、主要内容 (4)二、练习题 (5)(一)练习题之数据类型 (5)(二)练习题之运算符和表达式 (8)三、参考答案 (13)(一)练习题之数据类型参考答案 (13)(二)练习题之运算符和表达式参考答案 (14)第四章顺序程序设计 (15)一、主要内容 (15)二、练习题 (15)三、参考答案 (16)第五章选择结构程序设计 (17)一、主要内容 (17)二、练习题 (17)三、参考答案 (22)第六章循环结构 (25)一、主要内容 (25)二、练习题 (25)三、参考答案 (34)第七章数组 (39)一、主要内容 (39)二、练习题 (39)三、参考答案 (49)第八章函数 (54)一、主要内容 (54)二、练习题 (55)三、参考答案 (62)第九章预处理命令 (67)一、主要内容 (67)二、练习题 (67)第十章指针 (69)一、主要内容 (69)二、练习题 (69)三、参考答案 (74)第十一章结构体和共用体 (76)一、主要内容 (76)二、练习题 (76)三、参考答案 (78)第十二章位运算 (82)一、主要内容 (82)二、练习题 (82)第十三章文件 (83)一、主要内容 (83)二、练习题 (83)三、参考答案 (85)第一章C语言程序设计概述一、主要内容c程序基本结构特点函数与主函数1.程序由一个或多个函数组成,函数由函数头和函数体构成。
2.必须有且只能有一个主函数main()3.程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。
程序语句1.C程序由语句组成,用“;”作为语句终止符2./* */部分为注释,不能嵌套,不产生编译代码编译预处理不是C语言的一部分C程序的运行步骤运行一个C程序,从输入源程序开始,要经过编辑源程序文件(•C)、编译生成目标文件(•obj)、连接生成可执行文件(•exe)和执行四个步骤二、练习题部分一、选择题:1、C语言程序编译过程中产生的文件有:()A. 索引文件和文本文件两种B. 目标文件和可执行文件C. 二进制文件一种D. ASCII码文件和二进制文件两种2、以下说法中正确的是: ( )A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main函数中定义C. C语言程序总是从main函数开始执行D. C语言程序中,main函数必须放在程序的开始部分3、C语言源程序的基本单位是:()A. 函数B. 标识符C. 表达式D. 语句4、以下叙述正确的是:()A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点5、在一个C语言程序中:()A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置6、C++语言中工程文件的扩展名是:。
C语言程序设计复习题及参考答案━━━━━━━━━━━━━━━━━━一、程序设计共6题(共计120.0分)━━━━━━━━━━━━━━━━━━第1题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:用递归法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为: 1、1、 2、3、5、8、13、21....例如,若给n输入7,则该项的斐波拉契数值为13.------------------------------------------------------------------------注意:请勿改动程序中的其他内容。
----------------------------------------------------------------------*/#include <stdio.h>long fun(int g){switch(g)/********** Program **********//********** END **********/}void main(){long fib;int n;printf("【Input n:】 ");scanf("%d",&n);fib=fun(n);printf("【fib =】 %d\n",fib);}答案:{case 0: return 0;case 1:case 2 : return 1 ;}return( fun(g-1)+fun(g-2) );第2题(20.0分)/*----------------------------------------------------------------------题目:函数fun的功能是:从3个红球、5个白球、6个黑球中任意取出8个作为一组,进行输出。
(完整版)C语言程序设计+复习题库一、填空1.break语句通常用于switch // 循环中。
2. C 语言对数组下标的引用一般从0 开始。
3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
4.C标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在math.h头文件中。
5.C程序的运行需要经过编译和链接两步进行。
6.C程序中用/**/ 括起来的内容是程序的注释语句。
7.C语言函数是由函数首部和函数体两部分组成。
其中,函数首部包括函数类型、函数名和函数参数。
8.C语言提供的三种逻辑运算符是&,//,!。
9.C语言源程序经过编译后,生成文件的后缀名是 .c 。
10.C语言源程序经过连接后,生成文件的后缀名是 .exe 。
11.C语言中,关系表达式和逻辑表达式的值是1//0 。
12.C语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。
13.C语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。
14.C语言中函数返回值的类型是由函数类型决定的。
15.C源程序的基本单位是函数。
16.int a = 2, b = 3; 表达式a > b ? a ++ : ++ b的值为 4 。
17.int x=1,y=1,z=1; x+=y+=z; 则表达式x18.当a=3,b=2,c=1时,表达式f=a>b>c的值是0 。
19.定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为int *p=a[6] ; 。
20.定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int*p[4]; 。
21.赋值语句是由= 加上一个分号构成。
22.构成数组的各个元素必须具有相同的类型。
23.关系表达式x+y>5的相反表达式为x+y!>5 。
24.函数strlen("1234\0xy")的值为:9 。
第一章【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
3.标识符是用来标识程序中的某个对象名字的字符序列。
C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。
关于用户自定义标识符的命名C语言规定:(1)所有的用户标识符必须先定义后使用;(2)用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,同时首字符不能是数字;(3)区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。
4.理论上讲,程序开发过程分为四个步骤,分别为:(1)编辑源程序(2)编译源程序,生成目标程序(3)连接目标程序及其相关模块,生成可执行文件(4)运行可执行文件一. 单元练习一.抉择题1.构成C语言程序的基本单位是()。
A.框架 B.预处理C.函数D.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。
A.编辑B.编译C.连接D.运行3.关于主函数,下列说法不正确的是()。
A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数能够被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是()。
C语言程序设计(02600)复习资料一、单项选择题。
1.下列程序的输出结果是【】main( ){int a=7,b=5;printf(“%d\n”,a=a/b);}A. 7B. 0C. 1D. 22.设整型变量i=4,j=4,则执行语句i=j++,++i后,i和j的值分别是【】A. 5,6B. 6,5C. 4,5D. 5,53.若定义一维数组int a[10],则对第5个元素正确的引用是【】A. *a+5B. a[4]C. a[5]D. &(a+4)4.下列二维数组定义并初始化中,正确的是【】A. int m[2][]={{3,4},{}}B. int m[2][2]={1,2,3,4}C.int m[2][1]={{2},{3},{5}}D.int m[][]={1,2,3,4}5.在C预言中,实现字符串比较的处理函数是【】A. strcpy( )B. strcmp( )C. strlen( )D. strchr( )6.在C语言中,可以输出char型变量x值的库函数是【】A. putchar(x)B. fputc(x)C. getchar(x)D. fopen(x)7.凡是函数中未指定存储类型的局部变量,其隐含的存储类型是【】A. staticB. externC. autoD. register8.已知x=2,y=3,则x和y按位相或的结果是【】A. 0B. 2C. 1D. 39.函数调用时,下列说法正确的是【】A.形参和实参可以同名B.函数间的数据传递不可以使用全局变量C.调用后必须有返回值D.形参和实参不能同名10.在C语言中,决定函数返回值的类型的是【】A.函数形参的类型B.调用该函数时的实参数据类型C.函数定义时指定的类型D.所有函数返回值均未void类型11.已知int a[5]={1,3,5,7,9},*p=a;则下列表达式值为9的是【】A. *(p+4)B. p+4C. *p+4D. a[5]12. C语言源程序文件的后缀名是【】A. .ccB. .cC. .exeD. .h13.在C语言中,合法的字符串常量是【】A. ‘x’B. ”xy”C. {xy}D. ’xy\0’14.下列程序的输出结果是【】main( ){int a=7,b=5;printf(“%d\n”,a=a%b);}A. 2B. 7C. 0D. 115.设整型变量i=4,j=4,则执行语句i=j--,++i后,i和j的值分别是【】A. 4,4B. 4,3C. 5,3D. 5,416.若定义一维数组char b[5],则对数组b元素的正确引用是【】A. b[5]B. &bC. b[3.5]D. b[5-5]17.下列定义语句中,错误的是【】A. char *cB. int n=5;a[n]C. char m[3]=”zz”D. int n=218.在C预言中,实现字符串长度计算的函数是【】A. strchr( )B. strcat ( )C. s trlen( )D. strcmp( )19.已知x=2,y=3,则x和y按位相与的结果是【】A. 0B. 2C. 3D. 120.在C语言中,对函数的描述正确的是【】A.可以嵌套调用B. 可以嵌套定义C.不可以递归调用D.可以递归调用,但不能嵌套调用21.已知int *p,a=5;p=&a;则下面均代表地址的一组选项是【】A. a, pB. *p, &aC. &a, pD. &a, &p22.执行下列程序段后,正确的结果是【】int m,n,x;m=n=0;x=20;if(!m) x+=5;else if(!n) x--;else x-=4;printf("%d",x);A. 24B. 25C. 20D. 1623.执行下列程序段后,正确的结果是【】int sum=1,i;for(i=0;i<=5;i+=2)sum=sum*2;printf("%d,%d",sum,i);A. 2,4B. 4,4C. 8,6D. 8,4二、判断题。
2007年1月高等教育自学考试福建省统一命题考试C语言程序设计试卷(课程代码2600)一、填空题(本大题共10空,每空1分,共10分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1.结构化程序设计所规定的三种基本控制结构分别是结构、选择结构和循环结构。
2.有符号的整型数据(signed int)能表示的最大整数是。
3.设a为int变量,b为float变量,则a+b的运算结果为型数据。
4.设a为int变量,执行a=1/2+1/2;语句后,a的值为。
5.以下程序运行后的输出结果是。
main( ){int a=010,b=2,c;c=a+b;print f(“%d”,c);}6.以下程序运行后的输出结果是。
main( ){char m;m=‘B’+32;print f(“%c”,m);}7.以下程序运行后的输出结果是。
main( ){int a=1,b=3,c=5;if(c=a+b)print f(“yes”);elseprint f(“not”);}8.以下程序段的输出结果是。
char s[]= “\\140\140abc\t”;prnt f(“%d\n”,strlen(s));9.以下程序段的输出结果是。
int a=l,b=2,*p=&a,*q=&b;p=q;*p=3;print f(“%d”,b);10.以下程序段的输出结果是。
struct node{int a;float b;char c[10];}print f(“%d”,sizeof(struet node)) ;二、单项选择题(本大题共25小题.第11—30题每小题1分,第31-35题每小题2分,共30分)在每小题列出的四个备选项中有一个是符合题目要求的。
请将其代码填写在题后的括号内。
错选、多选或未选均无分。
11.下列标识符中可用作C语言用户标识符的一组是【】A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof12.在C语言中,合法的字符常量是【】A.‘\084’ B.‘\x43’ C.‘ab’ D.“\O”13.表示关系X≤Y≤Z的c语言表达式是【】A.(x<=Y)&&(Y<:z) B.(x<=Y)AND(Y<=z)C.(x<=Y<=z) D.(x<=Y)&(Y<=z)14.若t为double类型,表达式t=l,t+5,l++的值是【】A.1B.1.0C.2.0D.415.在C语言中,运算对象必须是整型数的运算符是【】A.% B./ C.%和/ D.}+16.在C语言中,如果下面的变量都是int类型,则输出的结果是【】Sum=pad=5;pAd=sum++,pAd++,++pAd:print f(“%d\n”,pad);A.7 B.6 C.5 D.417.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是【】#include<stdio.h>main( ){ char c1=’A’,c2=’Y’;print f(“%d,%d\n”,c1,c2);}A.因输出格式不合法,输出错误信息B.65,90C.A,YD.65,8918.设有说明int(*ptr)[m];其中的标识符ptr是【】A.m个指向整型变量的指针B.指向m个整型变量的函数指针C.一个指向具有m个整型元素的一维数组的指针D.具有m个指针元素的一维指针数组,每个元素都只能指向整型量19.语句while(!E);中的条件!E等价于【】A.E==0 B.E!=1 C.E!=O D.E=l20.以下函数调用语句中含有的实参个数为【】func((exp1,exp2),(exp3,exp4,exp5));A.1 B.2 C.4 D.521.设有以下语句:char a=3,b=6,C;c=B^b<<2;则c的二进制值是【】A.00011011 B.00010100C.00011100 D.0001100022.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是【】A.-12 B.0 C.3 D.923.在C语言中,下列描述正确的是【】A.不能使用do—while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环24.以下程序的输出结果是【】#include<stdio.h>#include<string.h>main(){char str[12]={‘8’,‘t’,‘r’,‘i’,‘n’,‘g’,‘、0’,‘a’}; printf(“%d\n”,strlen(str));}A.6 B.7 C.8 D.1225.以下程序的输出结果是【】#include<stdio.h>main(){int a=2,c=5;print f(“a=%%d,b=%%d\n”,a,c);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d26.以下程序的输出结果是【】#include<stdio.h>main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}A.6,l B.6,0 C.2,1 D.2,027.C语言中形参的缺省存储类别是【】A.自动(auto) B.静态(static)C.寄存器(register) D.外部(extern)28.设有以下语句(其中0≤i<10),则不能对a数组元素的正确引用是【】int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;A.a[p-a] B.*(&a[i])C.p[i] D.*(*(a+i))29.以下程序的输出结果是 l【】#include<stdio.h>union pw{int i;char ch[2];}a;main( ){a.ch[0]=13;a.ch[1]=0;print f(”%d\n”,a.i);}(注意:ch[0]在低字节,ch[1]在高字节。
2006年7月高等教育自学考试福建省统一命题考试C语言程序设计试卷(课程代码2600)一、填空题(本大题共10小题,每小题1分,共10分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1.整常数必须以0开头。
2.长整型数是用后缀来表示的。
3.float实型变量类型占内存空间。
4.字符串常量占的内存字节数等于字符数加l,增加的一个字节中存放字符。
5.条件运算符a=a>b? a:b执行后a的值比b 。
6.知给全部元素赋初值,则在数组说明中,可以不给出数组元素的。
7.函数是C程序运行的入口函数。
8.函数调用中发生的数据传送是单向的。
即只能把的值传送给形参。
9.主函数中定义的变量的作用域仅限于内。
10.全局变量的作用是增加了函数间联系。
二、单项选择题(本大题共30小题,每小题1分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
11.二进制数101010转换为等值的十六进制数是【】A.52 B.20 C.2a D.21012.C语言中,字符(char)型数据在内存中的存储形式是【】A.反码B.补码C.EBCDIC码D.ASCII码13.在C语言中,不.正确的int类型的常数是【】A.038 B.0 C.037 D.0xAF14.用十进制数表示表达式:20/0x2f的运算结果是【】A.1 B.0 C.14 D.1215.设有语句char a=‘\65’;则变量a是【】A.包含1个字符B.包含2个字符C.包含3个字符D.包含4个字符16.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是【】A.1 B.2 C.2.0 D.2.517.在C语言中,合法的长整型常数是【】A.8L B.4962710 C.0.054838743 D.2.1869e1018.在以下一组运算符中,优先级最高的运算符是【】A.<= B.= C.%D.&&19.能正确表示a和b同时为正或同时为负的逻辑表达式是【】A.(a>=0‖b>=0)&&(a<0‖b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>020.执行int x,y,z.k;x=(y=4,z=16,k=32)后,x的值是【】A.4 B.16 C.32 D.5221.sizeof(double)是【】A.一种函数调用B.一个双精度型表达式C.一个整型表达式D.一个宏替换22.C语言中基本数据类型包括【】A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型23.设有如下定义:int a=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:(m=a>b)‖(n=c>d)后,n的值是【】A.1 B.0 C.5 D.624.若有以下语句:int u=020,v=0x20,w=‘\20’;printf(“%d,%d,%d\n”,u,v,w);则输出结果是【】A.16,16,16 B.20,20,20 C.16,16,16 D.16,32,1625.调用函数:strcat(strcpy(strl,str2),str3)的结果是【】A.将串str1复制到串str2中后再连接到串str3之后B.将串strl连接到串str2之后再复制到串str3之后C.将串str2复制到串strl中后再将串str3连接到串strl之后D.将串str2连接到串strl之后再将串strl复制到串str3中26.语句:printf(“%d”,(a=2)&&(b=-2));的输出结果是【】A.无输出B.结果不确定C.-1 D.127.语句:printf(“%d、n”,12&012);的输出结果是【】A.12 B.8 C.6 D.01228.语句while(E);中的条件E等价于【】A.E! =0 B.E! =l C.E = = 0 D.E = = 129.C语言中以下说法正确的是【】A.不能使用while语句构成的循环B.while语句构成的循环必须用break语句才能退出C.while语句构成的循环,当while语句中的表达式值为非零时结束循环D.while语句构成的循环,当while语句中的表达式值为零时结束循环A.数组a和数组b等价B.数组a和数组b的长度相同C.数组a的长度大于数组b的长度D.数组a的长度小于数组b的长度40.标准函数fgets(s,n,f)的功能是【】A.从文件f中读取长度为n的字符串存人指针s所指的内存B.从文件f中读取长度不超过n-1的字符串存人指针s所指的内存C.从文件f中读取n个字符串存人指针s所指的内存D.从文件f中读取长度为n-1的字符串存入指针s所指的内存三、阅读程序题(本大题共10小题,每小题3分,共30分)四、程序设计题(本大题共3小题,每小题10分,共30分)51.输人10个整数,输出其平均值。
C程序设计复习资料(含答案)C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
C语言程序设计一、单项选择题1.一个C语言程序总是从()位置开始执行。
【】A) 第一个函数B) 程序的第一行C) main( ) D) 第一条执行语句2.字符‘m’的ASCII码为109,有如下定义char a,则执行语句a=‘9’+‘m’-‘8’后,【】变量a中的值为()。
A) a B) n C)m D) 1093.下面的程序运行时输入数据:7,32↙(↙表示回车),输出结果为()。
【】main(){ int i,j;scanf(“%d%d”,&i,&j);printf(“%d”,i+j);}A) 39 B)7 C) 32 D) 不确定值4.设有int a=3,b=2,c=1,d=5,m=4,n=4;执行(m=a<b)||(n= =c>d)后n的值为()。
【】A) 1 B) 2 C) 3 D) 45.为表示关系x≥y≥z,应使用C语言表达式()。
【】A) (x>=y)&(y>=z) B) (x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&&(y>=z)6.指出下面哪项不是合法的变量名()。
【】A)_ANT B)4ant C)_ant_5_8 D)ant907.若运行时给变量m输入11,则以下程序的运行结果是()。
【】main(){ int m,n;scanf(“%d”,&m);n=m>12 ? m-- : ++m;printf(“%d,%d\n”,m,n);}A) 12,12 B) 11,11 C)11,12 D) 12,118.以下程序的运行结果是()。
【】main(){int s=9; char grade;switch(s){case 9 : grade='A';case 8 : grade='B';case 7 : grade='C';break;case 6 : grade='D';}printf("%c\n",grade);}A) A B) B C) C D)D9.设int k=4;有以下程序段,描述中正确的是()。
【】dok=k*2;while(k=0)A)while循环执行5次B)循环体语句(k--)执行一次C)循环体语句(k--)一次也不执行D)循环是无限循环10.以下程序的执行结果是()。
【】main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}A) 3 B) 6 C) 0 D) 死循环1.在一个C语言程序中,下列不合法的定义是()。
【】A)int flag B) float _flag C) int flag_5 D) float 5_flag2.已知字符‘B’的ASCII码是66,变量ch是字符型,则执行语句【】ch = ‘5’ + ‘A’–‘3’ 后,ch中的值是()。
A) 65 B) 66 C) 67 D) 一个不确定的值3.下面的程序运行时输入数据:12,13↙(↙表示回车),输出结果为()。
【】main(){int n,m;scanf(“%d%d”,&n,&m);printf(“%d”,n+m);}A) 11 B)12 C) 13 D) 不确定值4.下列运算符中,运算优先级按由高到低的依次是()。
【】A) !> && B)> && !C) && !> D)!&& >5.有如下定义:float a; double b; char c; int d;则表达式:c*d+b-a值的数据类型为()。
【】A) int B) char C)float D) double6.若有以下程序段,执行后输出结果是()。
【】main(){ float x=8.4; int y;y=(int)x;printf(”x=%.1f,y=%d",x,y);}A) x=8,y=8.4 B) x=8,y=8 C) x=8.4,y=8 D) x=8.4,y=8.47.设ch是char类型的变量,其值是‘P’,则以下表达式的值是()。
【】ch=(ch>=‘A’&&ch<=‘Z’)?(ch+1):chA) Q B) P C) q D) p8.有如下程序,该程序的输出结果是()。
【】main(){ int a=0,i=3,m=3;switch(a){case 0: i++;case 1: i++;case 2: m++;i++; break;}printf("%d, %d\n",i,m); }A) 4,4 B) 6,6 C) 4,6 D) 6,49.以下程序运行结果是()。
【】main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf(“%d \n”,i);}A) 3 B) 2 C) 1 D) 010.执行语句for(i=1;i<50;i++ ) ;后变量i的值是()。
【】A)49 B)50 C)51 D)5211.以下程序运行后的结果是()。
【】main(){ int x[10]={0},i,k=3;for(i=0;i<k;i++)x[i]=x[i]+1;printf("%d\n",x[k]);}A) 0 B) 1 C) 2 D) 不确定的值12.若有以下说明:【】int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是()。
A)a['d'-c] B)a[4] C)a['d'-'c'] D)a[g-c]13.若有语句:int a=4,*p=&a;下面均代表地址的一组选项是()。
【】A) a,p,&*a B) *&a,&a,*p C) *&p,*p,&a D) &a,p,&*p14.以下程序运行后的输出结果是()。
【】int func(int a,int b){ return(a+b); }void main(){ int x=1,y=2,z=3,sum;sum=func(func(x,y),z);printf("%d\n",sum);}A)1 B) 2 C) 3 D) 615.在C语言中,定义如下结构体类型:【】struct data{ int count;char sex;float score;}var;则结构体类型变量var占用内存的字节数为()。
A)1 B)4 C)9 D)5程序综合分析题16.已知‘P’字符的ASCII码是80,下面程序的运行结果是()。
【】main(){char s='P';s = s +1;printf("%c %c %d ", s,s+1,s);}17.执行下列程序后,变量m的正确结果是多少()。
【】main(){int m=1;switch(m){case 1:m+=1;case 2:m+=1; break;case 3:m+=1; break;default:m+=1;}printf("%d\n",m);}18.写出下列程序的运行结果()。
【】main( ){int i=0;for (;i<6;i++)if (i%3==0){continue;}else{printf(“%d”,i);}}19.写出下列程序的运行结果()。
【】main(){int x=0,i=1,s=0;do{x++;i=i*x;s+=i;} while (x<3);printf("%d\n",s);}20.写出下列程序的运行结果()。
【】main(){int i,j,sum=0;for (i=3;i<=10; i+=3 )for (j=6; j<=8; j+=2 )sum++;printf ("%d\n",sum);}21.写出下列程序的运行结果()。
【】main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},i,s=0;for (i=1;i<=6;i++)if (a[i]%3!=0)s=s+a[i];printf("%d\n",s);}17.写出下列程序的运行结果()。
【】main(){int x=3,y;if (x<0) y=-1;else if (x>0) y=1;else y=0;printf("%d,%d",x,y);}18.写出下列程序的运行结果()。
【】main(){int i;for(i=1;i<5;i++){ if(i%2){ printf("*");continue; }printf("#");}printf("\n");}19.写出下列程序的运行结果()。
【】main(){int x=0,a=0,b=0;switch(x){case 0: b++;case 1: a++;break;case 2: a++;b++;}printf("%d,%d\n",a,b);}20.写出下列程序的运行结果()。
【】main( ){int i=1;for (;i<10;i++)if (i%4==0){break;}else{printf("%d ",i);}}21.写出下列程序的运行结果()。
【】main(){int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int i=0,j=0,sum=0;for(i=2,j=0;i>=0;j++,i--)sum=sum+a[j][i];printf("%d\n",sum);}22.写出下列程序的运行结果()。
【】int fun(int a, int b){int c;a+=a; b+=b;c=a+b;return (c);}main(){int m=2,n=4;m=fun(m,n);printf("%d\n",m);}23.写出下列程序的运行结果()。
【】main(){int a []={5,6,7,8,9,10},*p;p=a;p++;*(p+2)=2;printf ("%d,%d\n",*p,*(p+2));三、编程序题24.从键盘输入一个正整数,编程判断该正整数是否能被3整除。