c程序设计笔试题

合集下载

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

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语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

c程序设计考试题

c程序设计考试题

c程序设计考试题C程序设计考试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示方式?A. 0x1234LB. 1234.0C. 1234D. 0x12342. 下列哪个是C语言中的合法标识符?A. 2variableB. variable-C. variable2D. variable#3. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = b; b = a;4. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!" "Hello, World!"D. {"Hello, World!"}5. 以下哪个函数可以用于计算数组中元素的总和?A. sum()B. count()C. average()D. find()6. 以下哪个是C语言中的控制语句?A. ifB. whileC. switchD. All of the above7. 在C语言中,以下哪个是正确的函数声明?A. int function(int a, int b);B. int function(a, b);C. int function(int a, b);D. function(int a, int b);8. 以下哪个是C语言中定义结构体的关键字?A. structB. unionC. enumD. typedef9. 在C语言中,以下哪个是正确的指针声明?A. int *pointer;B. pointer int;C. int pointer[];D. int *pointer[10];10. 下列哪个是C语言中正确的数组初始化方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = 1, 2, 3, 4, 5;C. int arr[] = {1, 2, 3, 4, 5};D. All of the above二、简答题(每题10分,共20分)1. 解释C语言中的指针和引用的区别。

C语言程序设计考试题(全题)

C语言程序设计考试题(全题)

福建师范大学C语言程序设计考试题系别 _______ 班级 _______ 姓名_________ 学号________ 得分__________一、选择题(本大题共40个选项,每个选择项1.5分,共60分)1.在C语言中,合法的字符常数是【1】A)‘程序设计’ B)“程序设计”C)c D)‘\\’2.在C语言中,以下不正确的八进制或不正确的十六进制数是【2】A)090 B)0xABC)0xla D)-0163.执行int x=2,y=3;后表达式x=(y==3)的值是【3】A)0 B)1C)2 D)34.执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是【4】A) 3 B) 4C) 7 D) 115.在循环结构的循环体中执行break语句,其作用是【5】A) 结束本次循环,进行下次循环B) 继续执行break语句之后的循环体中各语句C) 跳出该循环体,提前结束循环D) 终止程序运行【6】main(){char s[]=”\’Address\’”;printf(%d\n”, strlen(s));}A) 9 B) 10C) 11 D) 12【7】main(){int a[]={2, 4, 6, 8, 10}, y=1, x;for(x=0; x<3; x++) y+=a[x+1];printf(“%d\n”, y);}A) 17 B) 18C) 19 D) 208.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是【8】A) x[8]=”Turbo C”; B) x=”Turbo C”;C) x[]=”Turbo C”; D) for(i=0; i<7; i++) x[i]=getchar();9.设int a[][4]={0, 0};则以下错误的描述是【9】A) 数组a的每个元素都可得到初值0B) 二维数组a的第一维大小为1C) 数组a的行数为1D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0 【10】fun3(int x){static int a=3;a+=x;return a;}main(){int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%d\n”, n);}A) 3 B) 4C) 6 D) 911.以下四个运算符,按优先级由高到低的排列顺序是【11】A) ++ % += > B) % ++ > +=C) % += > ++ D) ++ % > +=【12】A) 在函数外部定义的变量是全局变量B) 在函数内部定义的变量是局部变量C) 函数的形参是局部变量D) 局部变量不能与全局变量同名13.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为【13】A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在的目录D) 仅仅搜索当前目录14.设有语句int(*p)();则p是一个【14】A) 指向一维整型数组的指针变量B) 指针函数,该函数的返回值为指向整型变量的指针C) 指向函数的指针变量,该函数的返回值为整型D) 数组指针,它的每个元素都是一个可以指向整型变量的指针变量15.若有typedef float AR[5];AR a;则以下叙述正确的是【15】A) a是一个新类型名B) AR是一个实型数组C) AR是一个实型变量D) a是一个实型数组【16】A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型17.在C语言中,变量所分配的内存空间大小【17】A)均为一个字节 B)由用户自己定义C)由变量的类型决定 D)是任意的18.在C语言中,合法的整型常数是【18】A)-0x123 B)3.14159 C19.下列各变量均为整型,选项中不正确的C语言赋值语句是【19】A)i+=++i; B)i=j==k;C)i=j+=i; D)i=j+1=k;≤y≤z可用C语言的表达式表示为【20】A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z)C)(x<=y<=z) D)(x<=y)&(y<z)21.若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用【21】A)scanf(“%6f”,&a); B)scanf(“%”,a);C)scanf(“%”,&a); D)scanf(“%f”,a);【22】unsigned a=0356,b;b=~a|a<<2+1;printf(“%x\n”,b);A)ffba B)ff71 C)fff8 D)fc0223.要使以下程序的输出结果为4,则a和b应满足的条件是【23】main(){int s,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a>0) s += 1;if(a>b) t= s + t;elseif(a==b) t=5;else t=2*s;printf(“%d\n”,t);}A)a>0并且a<b B)a<0并且a<bC)a>0并且a>b D)a<0并且a<b24.若int i;则以下循环语句的循环执行次数是【24】for (i=2;i==0;) printf(“%d”,i--);A)无限次 B)0次C)1次 D)2次【25】main(){int i;for(i=100;i<200;i++){if(i%5==0) continue;printf(“%d\n”,i);break;}}A)100 B)101C)无限循环 D)无输出结果【26】int i=1,a[]={1,5,10,9,13,7};while(a[i]<=10) a[i++]+=2;for (i=0;i<6;i++) printf(“%d”,a[i]);A)2 7 12 11 13 9 B)1 7 12 11 13 7C)1 7 12 11 13 9 D)1 7 12 9 13 7“abcde”赋初值给字符数组,不正确的语句是【27】A)char s[]=“abcde”; B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};C)char s[]={“abcde”}; D)char s[5]= “abcde”;28.若变量c为char类型,能正确判断出c为小写字母的表达式是【28】A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')【29】void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2【30】main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2331.当执行下面的程序时,如果输入ABC,则输出结果是【31】main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C【32】A) int a[2][3]={0}; B) int a[][3]={1,2,3,4,5};C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[2][3]={{1},{3,4,5}};33.若int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是【33】A) 2 B) 3 C) 4 D)无确定值34.下面程序段的运行结果是【34】int a[2][3]={1,2,3},i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];printf(“%d,”,a[i][j]);}A) 2,4,6,2,0,8, B) 1,2,3,0,0,0,C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,35.下面程序段的运行结果是【35】int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,a[2][1]);A) 2 B) 4 C) 7 D)836.定义一个结构体变量时,系统分配给它的内存大小是【36】A)各成员所需内存量的总和B)成员中占内存量最大者所需内存容量C)结构中第一个成员所需内存容量D)结构中最后一个成员所需内存容量37.若typedef char STRING[255];STRING s;,则s是【37】A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量38.若已定义:int *p,a;,则语句p=&a;中的运算符“&”的含义是【38】A) 位与运算B) 逻辑与运算C) 取指针内容D)取变量地址39.若有定义char *p,ch;则不能正确赋值的语句组是【39】A)p=&ch;scanf(“%c”,p);B)p=(char *)malloc(1); *p=getchar();C)*p=getchar();p=&ch;D)p=&ch;*p=getchar();40.下面程序段的运行结果是【40】char s[]=“ABC”;int i;for(i=0;i<3;i++) printf(“%s”,&s[i]);A) ABC B) ABCABCABC C) AABABC D)ABCBCC1.下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数0.5 C) 2L D) '\72'3.下列选项中,合法的C语言关键字是A) V AR B) cher C) integer D) default4.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4 C) 3 D) 15.下面程序段的运行结果是【5】float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;int i;p=&a[1];fo r(i=0;i<3;i++) y+=*(p+i);printf(“%f\n”,y);A) 12.0000 B) 28.0000 C) 20.0000 D) 18.00006.下面程序段的运行结果是【6】char c[]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s\n”,c);A) ab c B) ‘a’‘b’C) abc D) ab7.下面程序段的运行结果是【7】char s[10],*sp=“HELLO”;strcpy(s,sp);s[0]=‘h’;s[6]=‘!’;puts(s);A) hELLO B) HELLO C) hHELLO! D) h!8.若有定义int a[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]的地址不正确表示是【8】A) &a[i][j] B) a[i]+jC) *(a+i)+j D) *(*(a+i)+j)9.若有定义int *p[4];,则标识符p是一个【9】A) 变量的指针变量B) 指向函数的指针变量C) 指向有四个整数元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针10.若有定义char *language[]={“FORTRAN”, “BASIC”,“PASCAL”,“JA V A”, “C”};则language[2]的值是【10】A) 一个字符B) 一个地址C) 一个字符串D) 不确定11.C语言规定,函数返回值的类型由【11】所决定。

100条经典C语言笔试题目(全)

100条经典C语言笔试题目(全)

100条经典C语言笔试题目1、请填写bool,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE 或者“空指针”。

例如int变量n与“零值”比较的if语句为:if ( n == 0 )if ( n != 0 )以此类推。

(1)请写出 bool flag 与“零值”比较的 if 语句:【标准答案】if ( flag )if ( !flag )(2)请写出 float x 与“零值”比较的 if 语句:【标准答案】 const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

(3)请写出 char *p 与“零值”比较的 if 语句【标准答案】 if (p == NULL)if (p != NULL)2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。

char str[] = “Hello” ;char *p = str ;int n = 10;请计算(1)sizeof (str ) =(2)sizeof ( p ) =(3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) {……;} 请计算 sizeof( str ) = (5)void *p = malloc( 100 );请计算sizeof ( p ) =【标准答案】(4)4、(5)43、 long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。

4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针 ;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20.data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52。

计算机科学与技术《C语言程序设计》-试卷+答案

计算机科学与技术《C语言程序设计》-试卷+答案

2018级计算机科学与技术《C 语言程序设计》考试试题一、单项选择题(每题2分,共20分) 1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。

B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C )C 语言源程序经编译形成的二进制代码可以直接运行。

D )C 语言中的函数不可以单独进行编译。

2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21的计算结果不.相符的是( )A )(a+b)*h/2B )(1/2)*(a+b)*hC )(a+b)*h*1/2D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <stdio.h> void main(){int i=1,j=1,k=2; if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,3 9、有以下程序: #include <stdio.h> void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);} 程序执行后的输出结果是( )A )自然数1~9的累加和B )自然数1~10的累加和C )自然数1~9中奇数之和D )自然数1~10中偶数之和 10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun 的正确调用语句是( ) A )fun(int y,double m); B )k=fun(10,12.5); C )fun(x,n); D )void fun(n,x); 二、填空题(每空2分,共20分)1、C 语言描述“x 和y 都大于或等于z ”的表达式是: 。

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

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

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

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

大学c语言程序设计考试试题

大学c语言程序设计考试试题

大学c语言程序设计考试试题一、单项选择题(每题2分,共20分)1. C语言中,一个整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节2. 下列哪个关键字用于定义一个类?A. structB. classC. unionD. enum3. 在C语言中,用于计算两个浮点数平均值的函数是:A. pow()B. sqrt()C. fabs()D. average()4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. readline()5. 在C语言中,字符串的结束标志是:A. 'E'B. '\n'D. '\0'6. 下列哪个是C语言中的合法标识符?A. 2classB. class2C. class+2D. class=27. C语言中,数组的下标默认从哪个数字开始?A. 0B. 1C. -1D. 随机数8. 在C语言中,sizeof运算符的作用是:A. 返回变量的类型B. 返回变量的值C. 返回变量的内存大小D. 返回变量的地址9. 下列哪个不是C语言中的控制流语句?A. ifB. forC. whileD. switch10. C语言中,函数的返回值类型定义在函数名的:A. 前面B. 后面C. 上面D. 下面二、填空题(每空3分,共30分)11. 在C语言中,使用________运算符可以实现逻辑与功能。

12. 当需要频繁修改数组中的元素时,应使用________类型的数组,以提高程序的运行效率。

13. C语言中,函数________可以用来获取字符串的长度,但不包括字符串结束标志'\0'。

14. 在C语言中,________关键字用于声明一个函数。

15. 一个C语言程序的执行是从________函数开始的。

16. 在C语言中,________关键字用于声明一个结构体。

(完整)C语言程序设计试题题库

(完整)C语言程序设计试题题库

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2。

C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3。

软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6.C语言是由________组成的.7。

C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:________和函数体。

9。

编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________. 11。

机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12。

与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13。

在编译程序之前,凡以____开头的代码行都先由预处理程序预处理.14. C程序的执行均是由执行_________开始。

15。

函数体即为包含在{ }内的部分.它分为________和为完成功能任务由若干个C语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言.18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序",将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。

C语言程序设计试卷与答案

C语言程序设计试卷与答案

C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%)综合 (30%)总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

将正确答案填入下面框中。

(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。

A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。

A) a%(int)(x-y) B) a=x!=yC) (a*y)%b D) y=x+y=x3. 若有定义 int (*p)[3];则下列说法正确的是( C )。

号学名姓注意行为规范 遵守考试纪律A) 定义了基类型为int的三个指针变量B) 定义了一个名为*pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B)。

A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D)。

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

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

C 语言程序设计试卷 ,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。

A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。

A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( c ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套。

B. 函数的定义不可以嵌套,但函数的调用可以嵌套。

C. 函数的定义和函数的调用均不可以嵌套。

D. 函数的定义和函数的调用均可以嵌套。

7. 在C语言中,下面对函数不正确的描述是( D)。

A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B. 允许函数递归调用。

C. 函数形参的作用范围只是局限于所定义的函数内。

D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)。

A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D )。

A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( B )。

c程序设计考试试题

c程序设计考试试题

c程序设计考试试题C程序设计考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-name22. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double3. 以下哪段代码可以正确地声明一个整型数组?A. int array[10] = {0, 0, ...};B. int array[] = {0, 1, 2, ...};C. int array[10] = {1};D. int array = {1, 2, 3};4. C语言中,以下哪个关键字用于定义函数?A. ifB. whileC. functionD. void5. 在C语言中,以下哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;6. 以下哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /*/ This is a comment */D. //* This is a comment */7. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. <=D. =8. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[] = "Hello";9. 以下哪个选项是C语言中的条件语句?A. switchB. caseC. if-elseD. for10. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. printf()二、简答题(每题5分,共10分)1. 解释C语言中的指针是什么,并给出一个简单的示例。

C语言程序设计试题_练习题

C语言程序设计试题_练习题

C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。

A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。

A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。

4.设n=3;则n++的结果是()。

A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。

A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。

A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。

A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。

A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。

c程序设计考试题目及答案

c程序设计考试题目及答案

c程序设计考试题目及答案一、选择题(共10题,每题2分,共20分)1. C语言中,以下关键字不属于标准C语言关键字的是:A. forB. ifC. switchD. class答案:D2. 定义一个数组 int arr[5]={1,2,3,4,5},则 arr[2] 的值是:A. 2B. 3C. 4D. 5答案:C3. 在C语言中,以下哪个运算符用于求两个整数相除后的余数:A. %B. /C. ^答案:A4. 下列选项中,不属于C语言中的控制流语句的是:A. whileB. continueC. gotoD. delete答案:D5. 下列哪个函数用于输出到标准输出设备(默认为显示器):A. getchar()B. scanf()C. puts()D. fopen()答案:C6. 在C语言中,以下哪个运算符优先级最高:A. +B. =C. <<答案:C7. 在C语言中,以下哪个关键字用于定义新的结构体类型:A. typedefB. structC. voidD. extern答案:A8. 下列选项中,属于C语言中的数据类型的是:A. integerB. characterC. floatD. boolean答案:C9. C语言中,以下哪种循环结构可以确保至少执行一次循环体:A. for循环B. while循环C. do...while循环D. if...else语句答案:C10. 函数原型声明的作用是:A. 定义函数的实现B. 声明函数的返回值类型C. 声明函数的参数类型和个数D. 控制函数的调用顺序答案:C二、编程题(共2题,每题40分,共80分)题目1:请编写一个C程序,实现以下功能:1. 定义一个结构体类型Student,包含以下成员:- char name[20]:表示学生姓名- int age:表示学生年龄2. 定义一个函数inputStudent,用于输入学生信息,函数原型如下: - void inputStudent(Student *student)3. 定义一个函数outputStudent,用于输出学生信息,函数原型如下: - void outputStudent(Student student)4. 在主函数中通过调用inputStudent和outputStudent函数,实现输入一个学生的信息并输出。

计算机c语言程序设计考试题及答案

计算机c语言程序设计考试题及答案

计算机c语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。

答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。

答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。

答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。

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

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

三一.单项选择题1.设int x=1;y=1;表达式x++ || y--的值是_________A.0 B. 1 C. 2 D.-12.main{ int n;n=64;n+6;n2;printf“n=%d\n”;n;} 此程序的输出结果是______________.A.30 B. 24 C. 60 D. 483.若有如下定义;则__________是对数组元素的正确的引用..int a10 ; p ;p=a ; p=a ; p=a ; p=a ;A. &a10B. a11C. p+10D. p4.设整型变量n的值为2;执行语句“n+=n-=nn;”后;n的值是__________ A. 0 B. 4 C. - 4 D. 25.以下不能正确定义二维数组的语句是___________A . int a22={{1};{2}}; B. int a2={1;2;3;4};C. int a22={{1};2;3};D. int a2={{1;2};{3;4}};6.程序段的功能是将变量 u 、s中的最大值赋给变量t .. A. ifu>s t=u;t=s; B. t=u; ift t=s;C. ifu>s t=s;else t=u; D . t=s; ifu t=u;7.下列程序段的输出结果是 ..void main{ int k;for k=1;k<5;k++〉{ ifk%2=0printf"";elseprintf“” ; } }A. B . C. D. 以上都不对8.设变量定义为 int a3={1;4;7};p=&a2; 则p的值是 35 ..A. &a2B. 4C. 7D. 19.能正确表示a和b同时为正或同时为负的逻辑表达式是_________..A.a>=0||b>=0&&a<0 ||b<0 B.a>=0 && b>=0&&a<0 && b<0C.a+b>0 &&a+b<=0 D. ab>010.C语言中;合法的字符型常数是_________..A.‘A’ B.“A” C. 65 D. A11.设有数组定义:cha r array=”China”; 则数组所占的空间是________..A.4个字节 B.5个字节 C.6个字节 D.7个字节12.若变量c为char类型;能正确判断出c为小写字母的表达式是_______..A.’a’<=c<=’z’ B.c>=’a’ || c<=’z’C.‘a’<=c and ‘z’>=c D.c>=’a’ && c<=’z’13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______..A.printf“x=%d\n”;x B.printf“x=%ld\n”;xC.printf“x=%8dl\n”;x D.printf“x=%LD\n”;x;14.下列关于指针定义的描述;___________是错误的..A.指针是一种变量;该变量用来存放某个变量的地址值的..B.指针变量的类型与它所指向的变量类型一致..C.指针变量的命名规则与标识符相同..D.在定义指针时;标识符前的“”号表示后面的指针变量所指向的内容..15.已知:int x; int y10; 下列______是合法的..A.&x B.&x+3 C.&5 D .&y16.指出下面正确的输入语句__________..A. scanf“a=b=%d”;&a;&b ;B. scanf“%d;%d”;&a;&b ;C. scanf“%c”;c ;D. scanf“% f%d\n”;&f ;17.C语言中以追加方式打开一个文件应选择_______________参数..A.“r” B.“w”C.“rb” D.“a”18.Break语句的正确的用法是 ..A. 无论在任何情况下;都中断程序的执行;退出到系统下一层..B. 在多重循环中;只能退出最靠近的那一层循环语句..C. 跳出多重循环..D. 只能修改控制变量..19. 为表示关系x≥y≥z;应使用C语言表达式A.x>=y&&y>=z B. x>=y AND y>=zC.x>=y>=z D. x>=z&y>=z20.以下可以作为C语言合法整数的是________..A.1010B B. 0368 C.0Xffa D. x2a221.在函数中默认存储类型说明符的变量应该是________存储类型..A.内部静态 B. 外部 C.自动 D. 寄存器二.判断题1. C 语言源程序文件通过了编译、连接之后 ; 生成一个后缀为 .EXE 的文件.. 2.在 C 程序中 ; 函数既可以嵌套定义 ; 也可以嵌套调用..3.在 C 程序中; APH 和 aph 代表不同的变量..4.表达式 0195 是一个八进制整数..5.表达式 _ya是不合法的C语言标识符..6. C程序总是从main 函数的第一条语句开始执行的..7. A-=7等价于a=a-7..8.利用fclose函数关闭已打开的文件..9.数组名可以作为参数进行传递..10.执行printf"%x";12345;; 输出 12345 ..三、填空1.C语言的预处理语句以__________开头..2.表达式7+8>2 && 25 %5的结果是_______________________..3.下列程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环.. int n=0; ch;ch=getchar ;while __________________{ if ________________ n++;c=getchar ; }4.C语言中putcharc 函数的功能是_________________________________.. 5.int p 的含义是___________________________________________..6.定义fp为文件型指针变量的定义方法为_______________________..7.数组 int a34;共定义了____________个数组元素..四、读出程序..1. 改正下列程序中不正确的语句..main{ int a=8 ; b=1;a=a+b;b=ab;printf"%d; %d";a;b; }2.写出下列程序的运行结果..funint a; int b{ ifa>b return a; Else return b; } main { int x=3;y=8;z=6;r; r=funfunx;y;2z;printf“%d\n”;r; }3. 改正下列程序中不正确的语句..main{ int n ;float s=1.0; forn=10;n>1;n- -s=s+1/n;printf“%6.1f\n”;s; }4. 写出下列程序的运行结果..main{ int n;Forn=3; n<=10; n++ { ifn%5= =0 break;Printf“%d”;n; } }5.写出下列程序的运行结果..include “stdio.h”main{ int a={1;2;3;-4;5}; int m;n;p; p=&a0; p=&a0;m=p+2;n=p+4;printf“%d %d %d ”;p;m;n;}五.编程序1.编程计算下列表达式:s=1+2+3+4+……+102.从键盘上输入a与n的值;计算sum=a+aa+aaa+aaaa+……共n项的和..例a=2; n=4; 则sum=2+22+222+2222..3.求3X3矩阵的主对角线元素之和..4.从键盘上输入10个数存入一维数组中;求这10数中的最大值与最小值并输出.. 5.从键盘上输入若干个字符存入文件write.txt中;遇到回车键输入结束..用“\n”表示答案一.单项选择题1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C二.判断题1√2Ⅹ 3√ 4Ⅹ 5Ⅹ 6√ 7√ 8√ 9√ 10Ⅹ三、填空1 号2 03 ch=’\n’ ch>=’0’ && ch<=’9’4 将变量c中的字符显示到屏幕上..5 指针变量p为整型6 FILE fp7 12四、读出程序..1 printf"%d; %d";&a;&b;2 123 s=s+1.0/n4. 3 45 1 3 5五.编程序1.include "stdio.h"main{ long s=0;t=1;int i;fori=1;i<=10;i++{ t=ti;s=s+t;}printf"%ld";s; }2include "stdio.h"main{ int a;n count=1;sn=0;tn=0; scanf"%d %d";&a;&n;whilecount<=n { tn=tn+a;sn=sn+tn;a=a10;++count; }printf"%d";sn; }3.include "stdio.h" main { int a33;i;j;s=0; fori=0;i<3;i++ forj=0;j<3;j++scanf"%d";&aij; fori=0;i<3;i++forj=0;j<3;j++ ifi==js=s+aij;printf"%d";s; }4.include "stdio.h"main{ int a10;max;min;fori=0;i<10;i++scanf"%d";&ai;max=a0;fori=1;i<10;i++ifai>maxmax=ai;min=a0;fori=1;i<10;i++ifai<minmin=ai;printf"%d %d";max;min; } 5.include "stdio.h"main{ int c;FILE fp;fp=open"write.txt";"w"; c=getchar;whilec='\n'{ fputcc;fp;c=getchar;}fclose; }。

C语言程序设计试题含答案

C语言程序设计试题含答案

C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.下面标识符中,可以作为合法变量名的是( )。

答案:B 知识点:【24010201】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.m@qB.Mo_dayC.mn/5D.char2.设有如下语句:int s,num;s=1005;num=2;则表达式(float)s/num的值是()。

答案:C 知识点:【24030704】知识考核要求:【2】能力考核要求:【1】难度系数:【A】A.502.000000B.502C.502.500000D.503.0000003.设有如下定义语句:chara[10]="ABC";则printf("%s" , a+1);的输出结果为( )。

答案:D 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.ABCB.CC.ABD.BC4.下列语句的输出结果是()。

inta=0123,b=0456;printf("%o\n",b-a);答案:C 知识点:【24040101】知识考核要求:【3】能力考核要求:【1】难度系数:【B】A.0456B.0123C.333D.5795.以下的for语句循环执行的次数是()。

for(x=0,y=0;(y!=20&&(x<20));x++);答案:C 知识点:【24040301】知识考核要求:【3】能力考核要求:【1】难度系数:【C】A.无限次B.不确定C.20次D.19次6.关于局部变量,下列说法正确的是()。

答案:C 知识点:【24060301】知识考核要求:【3】能力考核要求:【3】难度系数:【B】A.定义该变量的程序文件中的函数都可以访问B.定义处以下的任何语句都可以访问C.形式参数也是一种局部变量,可用于函数之间传递数据D.定义在复合语句中的局部变量,允许在该复合语句外访问7.有如下语句:chars[20]="welcome";char*ps=s;则不能引用字母c的表达式是()。

C语言程序设计题库

C语言程序设计题库

一、选择题(每题 1 分,共 20 分)1.C 语言程序从main()函数开始执行,所以这个函数要写在( D )。

A .程序文件的开始B.程序文件的最后C.它所调用的函数的前面 D .程序文件的任何位置2.下列方法中错误的是( D )。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

3.下列正确的标识符是( C )。

A .-a1B. a[i]C.a2_i D . int t4.C 语言中的简单数据类型包括( D )。

A .整型、实型、逻辑型B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型 D .整型、实型、字符型5.下列可以正确表示字符型常量的是( A )。

A .’\t ’B.”a”C.” \n ” D . 2976.在 C 语言中,字符型数据所占的内存空间是( C )。

A . 2 个字节B. 4 字节C. 1 字节 D .由用户自定义7.若 int 类型数据占 2 个字节 ,则 unsigned int 类型数据的取值范围是( B )。

A . 0~ 255B. 0~ 65535C. -32768~ 32767D. -256~ 2558.若有以下类型说明语句: char a; int b; float c; double d; 则表达式 a*b+d-c 的结果类型为(D)。

A . float B. char C. int D . double9.下列正确的预编译命令是( D )。

A . define PI 3.14159B. #define P(a,b)=strcpy(a,b)C. #define stdio.hD . #define PI 3.1415910.为表示逻辑表达式79<X<90, 应使用的 C 语言表达式是( A )。

A .( X>79 )&&( X<90 )B. ( X>79 )!=( X<90 )C. 79<X<90 D . (X>79 )||( X<90 )11.设有语句“ int a=2,b=3,c=-2,d=2; ”,则逻辑表达式“ a>0&&b&&c<0&&d>0”的值是(A)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(35) 检查软件产品是否符合需求定义的过程称为(A) 注:P95-
A. 确认测试 B. 集成测试 C. 验证测试 D. 验收测试-
(36) 下列工具中属于需求分析常用工具的是(D) 注:P67-
A. PAD B. PFD C. N-S D. DFD-
(37) 下面不属于软件设计原则的是(C) 注:P73-
(49) 按条件f对关系R进行选择,其关系代数表达式为(C)-
A. R|X|R B. R|X|Rf C. бf(R) D. ∏f(R)-
(50) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D) 注:P127,要牢记-
A. 自顶向下 B. 由底向上 C. 由内向外 D. 由整体到局部-
(53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A) 注:P38,前提要掌握三d C. decab D. deabc-
(54) 在下列几种排序方法中,要求内存量最大的是(D) 注:要牢记,书中没有提到。-
A. 抽象 B. 模块化 C. 自底向上 D. 信息隐蔽-
(38) 索引属于(B)-
A. 模式 B. 内模式 C. 外模式 D. 概念模式-
(39) 在关系数据库中,用来表示实体之间联系的是(D)-
A. 树结构 B. 网结构 C. 线性表 D. 二维表-
(40) 将E-R图转换到关系模式时,实体与联系都可以表示成(B)-
A. 插入排序 B. 选择排序 C. 快速排序 D. 归并排序-
(55) 在设计程序时,应采纳的原则之一是(A) 注:和设计风格有关-
A. 程序结构应有助于读者理解 B. 不限制goto语句的使用-
C. 减少或取消注解行 D. 程序越短越好-
(56) 下列不属于软件调试技术的是(B) 注:P98-
(33) 设有下列二叉树:图见书P46-
对此二叉树中序遍历的结果为(B)-
A. ABCDEF B. DBEAFC C. ABDECF D. DEBFCA-
(34) 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D) 注:P56-
A. 调用语句 B. 命令 C. 口令 D. 消息-
(12) 算法的空间复杂度是指(D)-
A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间-
(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出-
C. 队列是先进先出的线性表 D. 队列是先进后出的线性表-
(24) 对建立良好的程序设计风格,下面描述正确的是(A) 注:P48-
A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法-
C. 充分考虑程序的执行效率 D. 程序的注释可有可无-
(25) 下面对对象概念描述错误的是(A) 注:P55-
(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108-
A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式-
(11) 算法的时间复杂度是指(C)-
A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数-
A. 属性 B. 关系 C. 键 D. 域-
(41) 在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)-
A. 确定性 B. 可行性 C. 无穷性 D. 拥有足够的情报-
(42) 希尔排序法属于哪一种类型的排序法(B)-
A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法-
A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体-
C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性-
(26) 下面不属于软件工程的3个要素的是(D) 注:P62-
A. 工具 B. 过程 C. 方法 D. 环境-
(27) 程序流程图(PFD)中的箭头代表的是(B) 注:P81-
C. 线性链表是非线性结构 D. 二叉树是线性结构-
(22) 下列关于栈的叙述中正确的是(D)-
A. 在栈中只能插入数据 B. 在栈中只能删除数据-
C. 栈是先进先出的线性表 D. 栈是先进后出的线性表-
(23) 下列关于队列的叙述中正确的是(C)-
A. 在队列中只能插入数据 B. 在队列中只能删除数据-
(47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计也就是概要设计-
A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试-
(48) 软件调试的目的是(B) 注:与软件测试要对比着复习-
A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能-
(58) 在数据流图(DFD)中,带有名字的箭头表示(C)-
A. 控制程序的执行顺序 B. 模块之间的调用关系 C. 数据的流向 D. 程序的组成成分-
(59) SQL语言又称为(C)-
A. 结构化定义语言 B. 结构化控制语言 -
C. 结构化查询语言 D. 结构化操纵语言-
(60) 视图设计一般有3种设计次序,下列不属于视图设计的是(B)-
(43) 在深度为5的满二叉树中,叶子结点的个数为(C)-
A. 32 B. 31 C. 16 D. 15-
(44) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记-
A. N+1 B. N C. (N+1)/2 D. N/2-
(45) 信息隐蔽的概念与下述哪一种概念直接相关(B) 注:P74-
A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型-
(30) 关系数据库管理系统能实现的专门关系运算包括(B)-
A. 排序、索引、统计 B. 选择、投影、连接-
C. 关联、更新、排序 D. 显示、打印、制表-
(31) 算法一般都可以用哪几种控制结构组合而成(D) 注:P3-
(5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58-
A. 对象 B. 继承 C. 类 D. 过程调用-
(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)-
A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 -
(7) 在软件开发中,下面任务不属于设计阶段的是(D)-
(51) 在计算机中,算法是指(C)-
A. 查询方法 B. 加工方法 -
C. 解题方案的准确而完整的描述 D. 排序方法-
(52) 栈和队列的共同点是(C) 注:这一共同点和线性表不一样-
A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点-
A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析-
(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67-
A. 控制流 B. 加工 C. 数据存储 D. 源和潭-
(17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B) 注:P66-
A. 349 B. 350 C. 255 D. 351-
(14) 结构化程序设计主要强调的是(B)-
A.程序的规模 B.程序的易读性 -
C.程序的执行效率 D.程序的可移植性-
(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段-
A. 数据结构设计 B. 给出系统模块结构-
C. 定义模块算法 D. 定义需求并建立系统模型-
(8) 数据库系统的核心是(B)-
A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库-
(9) 下列叙述中正确的是(C)-
A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致-
A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确-
(18) 下述关于数据库系统的叙述中正确的是(A)-
A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余-
C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据-
(19) 关系表中的每一横行称为一个(A)-
A.软件结构定义 B. 模块独立性 C. 模块类型划分 D. 模拟耦合度-
(46) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)-
A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考-
、选择题-
(1) 下面叙述正确的是(C)-
A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对-
(2) 以下数据结构中不属于线性数据结构的是(C)-
A. 队列 B. 线性表 C. 二叉树 D. 栈-
相关文档
最新文档