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

合集下载

c程序设计试题及答案

c程序设计试题及答案

c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪一个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. A和B答案:D2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. return答案:A3. 以下哪个语句用于结束C程序的执行?A. break;B. continue;C. exit();D. return;答案:C4. C语言中,哪个类型用于表示字符?A. charB. stringC. characterD. letter答案:A5. 在C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. <D. >答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +D. -答案:A7. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above答案:D8. 下列哪个选项是C语言中的循环结构?A. ifB. whileC. switchD. case答案:B9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个结构体。

答案:struct2. 一个C语言程序的执行从________函数开始。

答案:main3. 在C语言中,________运算符用于取反一个逻辑值。

答案:!4. 一个C语言数组的索引是从________开始的。

答案:05. 使用________函数可以在C语言中动态分配内存。

《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. 以下______是正确的转义字符。

(完整word版)C语言程序设计题库及答案,推荐文档

(完整word版)C语言程序设计题库及答案,推荐文档

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。

A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。

A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。

for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。

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语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

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语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。

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

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

c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。

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

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、<B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A)A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C)A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)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(“%2d%3d”,&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)。

A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套19、请读程序longfun5(intn){longs;if((n==1)||(n==2))s=2;elses=n+fun5(n-1);return(s);}main(){longx;x=fun5(4);printf(%ld\n”,x);}上面的程序的运行结果是(A)A、9B、10C、12D、1820、若有下面的变量定义,以下语句中合法的是D)。

inti,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的值为12。

2、C语言中三种逻辑运算符为&&、||____、__!_。

3、在C语言中,逻辑“真”值用1表示,逻辑“假”值用0表示。

4、如a是int型变量,则计算表达式a=25/3%3后a的值为2。

5、若a=1,b=4,c=3,则表达式!(a<b)&&!c||1的值是__1_。

6、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

7、常见的循环语句有while语句、do-while语句和for语句。

8、若有定义:doublex[3][5];则x数组中行下标的下限为2___,列下标的下限为__4__。

9、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是_______,a[2][2]得到的初值是,a[0][2]得到的初值是。

10、在C语言中,一个函数由函数头和函数体两部分组成,函数体一般包括声明部分和执行部分。

三、程序分析题(20分,每题5分)1、以下程序的输出结果是852main(){inty=10;for(;y>0;y--)if(y%3==0){printf(“%d”,--y);continue;}}2、有以下程序段,若输入1298,则输出结果是main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10 ;n2=n2/10;printf(“%d”,n1);}3、以下程序的输出结果是d1=7d2=5 #include“stdio.h”fun(intb){intd=5;d+=b++;printf(“d1=%d\n”,d);}main(){inta=2,d=3;Fun(a);d+=a++;printf(“d2=%d\n”,d);}4、以下程序的输出结果是k=5#include“stdio.h”f(intn){switch(g){case0:return0;case1:case2:return1;}return(f(g-1)+f(g-2));}main(){intk;k=f(5);printf(“k=%d”,k);}四、编程题.(共20分,每小题10分)1、编程求1+2+3+……+99+100.2、输入一同学成绩,判断其成绩等级。

等级范围为:90以上等级为A89~80等级为B79~70等级为C69~60等级为D60以下等级为EC语言程序设计参考答案一、选择题1---------5DBABA6---------10CCBCA11--------15ACCCA16--------20ABBAD二、填空题1)、122)、&&||!3)、104)、25)、16)、07)、whilefor8)、249)、08010)、函数头函数体声明执行三、程序分析1)、8522)、89213)、d1=74)、k=5d2=5四、编程1、#include<stdio.h>main(){intsum=0,i;for(i=1;i<=100;i++)sum=sum+I;p rintf(“1+2+……+100=%d\n”,sum);}2、#include<stdio.h>main(){floatscore;s canf(“%f”,&score);switch(score/10){case10:c ase9:printf(“yourscoreisA\n”);break;c ase8:printf(“yourscoreisB\n”);break;c ase7:printf(“yourscoreisC\n”);break;c ase6:printf(“yourscoreisD\n”);break;d efault:printf(“yourscoreisE\n”);}}。

相关文档
最新文档