C语言程序设计试题及答案A
C语言程序设计试题及参考答案

C语言程序设计试题及参考答案精心整理c语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(d)a、一个c源程序可以由一个或多个函数共同组成b、一个c源程序必须涵盖一个main函数c、c程序的基本共同组成单位就是函数d、在c程序中,注释说明只能位于一条语句的后面2、以下四个选项中,就是不合法的用户标识符的选项就是(b)a、abcb、12acc、sund、a3、建有语句inta=4;则继续执行了语句a+=a-=a*a后,变量a的值就是(a)a、-24b、0c、4d、164、以下运算符中优先级最低的就是(b)a、a、inputx、y、z;b、scanf(“%d%d%d”,&x,&y,&z);c、scanf(“%d%d%d”,x,y,z);d、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456,下面程序的输出结果是:(c)voidmain(){intm,n;scanf(“-=”,&m,&n);printf(“m=%dn=%d\\n”,m,n);}a、m=23n=45b、m=234n=56c、m=23n=456d、语句有错误10、若运转时,给变量x输出12,则以下程序的运转结果就是(a)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\\n”,y);}精心整理a、0b、22c、12d、1011、c语言中while和do-while循环的主要区别(a)a、do-while的循环体至少继续执行一次b、while的循环控制条件比do-while的循环控制条件严格c、do-while允许从外部转到循环体内d、do-while的循环体不能是复合语句12、以下对二维数组的恰当表明的语句就是(c)a、inta[3][]b、floata(3,4)c、doublea[3][4]d、floata(3)(4)13、以下程序的输出结果是(c)main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}a、1,5,9b、1,4,7c、3,5,7d、3,6,914、以下能对一维数组a进行正确初始化的语句是(c)a、inta[10]=(0,0,0,0,0);b、inta[10]={};c、inta[10]={0};d、inta[10]={10*1};15、以下程序执行后的输出结果是:(a)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\\n”,z,y,x);}a、30,20,10b、10,20,30c、10,30,50d、10,30,4016、以下说法正确的是(a)如果在一个函数中的复合语句中定义了一个变量,则该变量a、只在该复合语句中有效b、在该函数中有效c、在本程序范围内有效d、为非法变量17、以下函数调用语句中含有的实参个数为(b)func((exp1,exp2,exp3),(exp4,exp5));a、1b、2c、4d、518、在c语言程序中,以下观点恰当的就是(b)。
C语言程序设计试题A

四川职业技术学院2005—2006学年第 1 学期期末考试《C 语言程序设计》 (A )(供04电气、04机电班使用)考试时间:120分钟 满分:100分 命题人:陈 科…………………………………………………………………………………………一、单项选择题,答案不写入答题栏的一律不得分!(每题1.5分,共52.5分)1、结构化程序设计的3种结构是 。
A)顺序结构、选择结构、转移结构 B )分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D )顺序结构、选择结构、循环结构2、以下叙述中正确的是 。
A )C 语言比其他语言高级B)C 语言可以不用编译就能被计算机识别执行C )C 语言以接近英语国家的自然语言和数学语言作为语言的表达 形式D )C 语言出现的最晚,具有其他语言的一切优点 3、C 语言中最简单的数据类型包括 。
A )整型、实型、逻辑型B )整型、实型、字符型C )整型、字符型、逻辑型D )字符型、实型、逻辑型 4、若变量已正确定义并赋值,以下符合C 语言语法的表达式是 。
A)a:=b+1 B )a=b=c+2 C )int 18.5%3 D)a=a+7=c+b5、若变量a ,i 已正确定义,且i 已正确赋值,合法的语句是 。
A )a= =1B )++i ;C )a=a++=5;D )a=int (i ); 6、已知: int t=0;while(t=1){。
.}则以下叙述正确的是 。
A )循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对7、若变量已正确说明为float 型,要通过语句scanf ("%f %f%f ",&a ,&b ,&c );给a 赋予10.0,b 赋予22.0,c 赋予33.0,下列不正确的输入形式是 .A)10〈回车〉22<回车〉33<回车> B )10。
0,22.0,33.0〈回车> C )10。
c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。
d。
2int。
a=0.double。
b=1.25.char c=’A’;则下面语句中错误的是()。
A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。
int w。
long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。
A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa)。
C) scanf(“%d”,&pa)。
B) scanf(“%d”,a)。
D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。
2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
c语言程序设计试卷及答案(A)

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。
答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。
A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。
A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。
A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。
A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。
int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。
A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。
A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。
int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。
int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。
A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。
C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。
A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。
A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。
A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。
A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。
A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。
A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。
自考c语言程序设计试题及答案

自考c语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. intC. letD. define答案:B2. 下列哪个选项不是C语言中的合法标识符?A. _nameB. 2nameC. nameD. name2答案:B3. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ~答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:B5. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A6. C语言中,用于实现函数递归调用的关键字是:A. returnB. callC. recursiveD. self答案:A7. C语言中,用于定义一个指针变量的关键字是:A. pointerB. ptrC. *D. ref答案:C8. 下列哪个选项是C语言中的合法数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {1, 2, 3};D. All of the above答案:D9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. enum typeC. typeD. typedef答案:A10. 在C语言中,用于实现文件操作的库函数位于哪个头文件中?A. stdio.hB. stdlib.hC. string.hD. math.h答案:A二、填空题(每题3分,共30分)1. 在C语言中,定义一个整型变量并初始化为10的语句是:`int a = ______;`答案:102. C语言中,用于计算两个整数相加的表达式是:`________ + b;`答案:a3. C语言中,用于定义一个浮点型数组的语句是:`float arr[5] = {1.1, 2.2, 3.3,4.4, ______};`答案:5.54. 在C语言中,用于定义一个函数的关键字是:`________ void myFunction();`答案:void5. C语言中,用于定义一个指针指向整型变量的语句是:`int *p = ______;`答案:&a6. C语言中,用于定义一个结构体的语句是:`struct Student {int id; char name[50];};`答案:(无需填空)7. C语言中,用于定义一个枚举类型的语句是:`enum Color {RED, GREEN, BLUE} color;`答案:(无需填空)8. 在C语言中,用于定义一个二维数组的语句是:`int arr[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, ______ };`答案:{8, 9, 10, 11}9. C语言中,用于实现文件读取的函数是:`________`答案:fopen10. C语言中,用于实现字符串连接的函数是:`________`答案:strcat三、简答题(每题5分,共20分)1. 简述C语言中函数的定义和调用过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main( )
{ int n1,n2 ; scanf(“%d”,&n2); while (n2!=0) { n1=n2%10 ;
n2=n2/10; printf(“%d”,n1); } 4、以下程序的输出结果是 #include “stdio.h” f(int n) {switch(g) {case 0:return 0; case 1: case 2:return 1; } return (f(g-1)+f(g-2)); } main( ) {int k; k=f(5); printf(“k=%d”,k); } 四、编程题.(共20分,每小题10分) 1、编程求1+2+3+……+10。
二、填空题
1)、12 2)、函数头 函数体 声明 执行
3)&& || ! 4)、0 1
5)、while for 6)、2 7)、1
8)、0 9)、1 0 8 10)、2 4
三、程序分析
1)、852 2)、d1=7 3)、8921 4)、k=5
d2=5
四、编程 1、#include “stdio.h”
到的初值是
。
10、若有定义:double x[3][5];则x数组中行下标的下限为__ ___,列
下标的下限为__ ___。
三、程序分析题(20分,每题5分)
1、以下程序的输出结果是
main( )
{int y=10;
for(;y>0;y--)
if(y%3==0)
{printf(“%d”,--y);
continue;
s=2; else
s=n+fun5(n-1); return (s); } main( ) {long x;
x=fun5(4); printf(“%ld\n”,x); } 上面的程序的运行结果是( )
A、9 B、 10 C、12 D、18 20、若有下面的变量定义,以下语句中合法的是( )。
int i,a[10],*p; A 、p=a+2; B、p=a[5]; C 、p=a[2]+2; D、p=&(i+2); 二、填空题(共20分,每空1分) 1、若a是int型变量,且a的初值为6,则计算表达式a+=(b=4)+(c=2)后,a 的值为 。
7、若a=1,b=4,c=3,则表达式!(a<b)&&!c||1的值是___ 。
8、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。
9、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化
后,a[0][0]得到的初值是____ ___,a[1][1]得到的初值是 ,a[2][2]得
2、输入一同学成绩,判断其成绩等级。
等级范围为:
90以上
等级为A
89~80
等级为B
79~70
等级为C69~60等级D60以下等级为E
C语言程序设计参考答案
一、选择题
1---------5 DBABA
6---------10CCBCA
11--------15ACCCA
16--------20ABBAD
13、以下程序的输出结果是()
main()
{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for (i=0;i<3;i++)
printf(“%d”,x[i][2-i]);
}
A、1,5,9 B、1,4,7 C、3,5,7 D、3,6,9
14、以下能对一维数组a进行正确初始化的语句是( )
printf(“%d\n”,pad);
A、7 B、6 C、5 D、4
8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的
输入语句是( )
A、 INPUT x、y、z;
B、scanf(“%d%d%d”,
&x,&y,&z);
C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,
10、若运行时,给变量x输入12,则以下程序的运行结果是( )
main( )
{ int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}
A、 0 B、 22 C、 12 D、10
11、C语言中while和do-while循环的主要区别( )
{ int x=10,y=20,z=30;
z=fun(x,y,z);
printf(“%d,%d,%d\n”,z,y,x);
}
A、30,20,10 B、10,20,30
C、10,30,50 D、10,30,40
16、以下说法正确的是( ) 如果在一个函数中的复合语句中定义了一个变量,则该变量
A、 只在该复合语句中有效 B、 在该函数中有效 C、 在本程序范围内有效 D、为非法变量 17、以下函数调用语句中含有的实参个数为( ) func((exp1,exp2,exp3),(exp4,exp5)); A、1 B、2 C、4 D、5 18、在C语言程序中,以下说法正确的是( )。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用可以嵌套 C、函数的定义和函数的调用都不可以嵌套 D、函数的定义和函数的调用都可以嵌套 19、请读程序 long fun5(int n) {long s; if((n==1)||(n==2))
3、设有语句int a=4;则执行了语句a+=a-=a*a;后,变量a的值是( )
A、-24 B、0
C、4 D、16
4、下列运算符中优先级最高的是( )
A、<
B、+ C、&& D、||
5、在C语言中,运算对象必须是整型数的运算符是( )
A、% B、/ C、%和/ D、 +
6、以下关于运算符的优先顺序的描述正确的是( )
A、int a[10]=(0,0,0,0,0); B、 int a[10]={ };
C、int a[10]={0};
D、 int a[10]={10 *1};
15、以下程序执行后的输出结果是:( )
int fun( int a,int b,int c)
{ a=456;b=567;c=678;
}
void main( )
A、do-while的循环体至少执行一次
B、while的循环控制条件比do-while的循环控制条件严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句
12、以下对二维数组的正确说明的语句是( )
A、int a[3][] B、float a(3,4) C、double a[3][4] D、float a(3)(4)
}
}
2、以下程序的输出结果是
#include “stdio.h”
fun(int b)
{ int d=5;
d+=b++;
printf(“d1=%d\n”,d);
}
main( )
{int a=2,d=3;
fun(a);
d+=a++;
printf(“d2=%d\n”,d);
}
3、有以下程序段,若输入1298,则输出结果是
2、在C语言中,一个函数由 和 两部分组成,函数体一般包括
部分和
部分。
3、C语言中三种逻辑运算符为 、 ____、___ 。
4、在C语言中,逻辑“假”值用 表示,逻辑“真”值用 表示。
5、常见的循环语句有 语句、do-while语句和
语句。
6、如a是int型变量,则计算表达式a=25/3%3后a的值为 。
A、关系运算符<算术运算符<赋值运算符<逻辑与运算符
B、逻辑与运算符<关系运算符<算术运算符<赋值运算符
C、赋值运算符<逻辑与运算符<关系运算符<算术运算符
D、算术运算符<关系运算符<赋值运算符<逻辑与运算符
7、在C语言中,如果下面的变量都是int类型,则输出的结果是( )
sum=pad=5;pAd=sum++,pAd++,++pAd;
Main() {int sum=0,I;
For(i=1;i<=10;i++) Sum=sum+I;
Printf(“1+2+……+10=%d\n”,sum); } 2、main()
{ float score; Scanf(“%f”,&score); Switch (score/10) { case 10: Case 9: printf(“your score is A\n”); break; Case 8: printf(“your score is B\n”);break; Case 7: printf(“your score is C\n”);break; Case 6: printf(“your score is D\n”);break; Default: printf(“your score is E\n”); } }
&z);
9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:( )
void main ( )
{ int m,n;
scanf(“%2d%3d”,&m,&n);
printf(“m=%d n=%d\n”,m,n);