C语言程序设计习题及答案
- 格式:doc
- 大小:34.00 KB
- 文档页数:9
《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语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在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语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。
x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。
——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。
——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。
A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。
一、单选题1、设有定义:struct complex{int real, unreal;} data1={1,8},data2;则以下赋值语句中错误的是()。
A.data2.real=data1.unreal;B.data2=(2,6);C.data2=data1;D.data2.real=data1.real;正确答案:B2、设有定义:struct{char mark[12];int num1;double num2;} t1,t2;若变量均已正确赋初值,则以下语句中错误的是()。
A.t2.num1=t1.num1;B.t2.num2=t1.num2;C.t1=t2;D.t2.mark=t1.mark;正确答案:D3、有以下定义语句:struct student{int num;char name[9];};则不能正确定义结构体数组并赋初始值的是( )。
A.struct stu[]={{1,"zhangsan"},{2,"li si"}};B.struct student stu[2]={{1,"zhangsan"},{2,"li si"}};C.struct student stu[2]={1, "zhangsan",2,"li si"};D.struct student stu[]={{1,"zhangsan"},{2,"li si"}}; 正确答案:A4、有以下程序:#include<stdio.h>struct S{ int a,b;}data[2]={10,100,20,200};int main(){struct S p=data[1];printf("%d\n",++(p.a));return 0;}程序运行后的输出结果是()。
C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
第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语言程序设计习题及答案算法与程序设计1.将三个数排序需要比较______次A、2B、3C、4D、不确定2.算法的表示方法有________A、自然语言,传统流程图,N-S流程图,伪代码,计算机语言B、高级语言,汇编语言,机器语言C、C语言,QBASIC语言,InterDevD、图形图像法,描述法,编程法E、计算机语言3.算法的表示方法有_______4.算法有哪些特性?5.什么叫算法?为什么要提倡结构化算法?习题答案:1.B 2.A 3 自然语言,传统流程语言,N-S流程图,伪代码,计算机语言 4.略 5.略C语言概述1.C语言程序的基本单位是(A )。
A、函数B、过程C、子程序D、子例程2.下列各选项中,合法的c语言关键字是( D )。
A、integexB、sinC、stringD、void3.下列选项中,是C语言提供的合法的关键字的是( C )A、swicthB、cherC、defaultD、Case4.下列叙述不正确的是( B )A、在c程序中,%是只能用于整数运算的运算符B、在C程序中,无论是整数还是实数,都能正确无误地表示C、若a是实型变量,c程序中a=20是正确的,因此实型变量允许被整型数赋值D、在C程序中,语句之间必须要用分号“;”分隔5.在C程序中,可以作为用户标识符的一组标识符是( B )。
A、void define WORDB、as_b3 _224 ElseC、switch _wel easeD、4b DO SIG6.下列不合法的十六进制数是( A)A、oxffB、0XcdeC、OxllD、Ox237.在c语言中,下列合法的字符常量是( B )A、'\039'B、'\x76'C、'ab'D、'\o'8 以下选项中合法的用户标识符是( D )A、intB、a#C、5memD、_2439.(A )是构成c语言程序的基本单位A、函数B、变量C、子程序D、语句10.一个C语言程序总是从( B )开始执行A、主过程B、主函数C、子程序D、主程序11.以下叙述不正确的是( D )A、一个c源程序可由一个或多个函数组成B、一个C源程序必须包含一个main()函数C、c程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面12.在C语言中,数字029是一个(D)A八进制数B十六进制数C十进制数 . D非法数13.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( C )。
C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。
为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。
通过完成这些习题,学习者可以锻炼编程思维,加深对C语言的理解,并提高编程能力。
习题一:求两个整数的和题目描述:编写一个程序,计算两个整数的和并输出结果。
解答:```C#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。
解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。
解答:```C#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。
第一章C程序概述一、选择题1、以下关于C语言标志符的描述中,正确的是()A)标志符可以由汉字组成B)标志符只能以字母开头C)关键字可以作为用户标志符D)Area与area是不同的标志符2、以下正确的叙述是()A)在C语言中,main函数必须位于文件的开头B)C语言每行只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误3、下面说法正确的是()A)C程序由符号构成B)C程序由标示符构成C)C程序由函数构成D)C程序由C语句构成4、以下叙述不正确的是()A)一个C源程序可以由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言规定:在一个源程序中,main函数的位置()A)必须在最开始B)必须在系统调用的库函熟的后面C)可以任意D)必须在最后二、填空题1、在TURBO C环境中用RUN命令运行一个C程序,所运行的程序的扩展名是---------------。
2、结构化程序由-------------------、----------------------、------------------------三种基本结构组成。
3、C语言源程序文件的扩展名是-------------------,经过编译后,生成的扩展名是---------------------,经过连接后,生成的扩展名是--------------------------。
4、在C程序中,输入操作是由库函数----------------------完成的,输出操作是由库函数---------------------------完成的。
5、一个C源程序中至少应包括一个----------------------------。
第二章数据类型、运算符与表达式一、选择题1、若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。
C语言程序设计习题及答案C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是( A )。
A)define B)gect C)include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)—0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x〈〈02>〉B>>23。
下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"’ B)'\1011’ C)'\011’ D)'\abc’’\\’ '\’ ’\f’ ’\101’'xf’ ’\A' '\}' 'x1f’4.下面不正确的字符串常量是(A )。
A)'abc’ B)”12’12" C)”0" D)” "5.以下选项中不合法的用户标识符是( A )。
A)abc。
c B)file C)Main D)PRINT6。
C语言提供的合法关键字是( D )。
A) swithB)cherC)Case).Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del—word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真”的表示是用( C )。
A)true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092’;则该语句( B )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
A)1 B)2 C)8 D)411已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+'6’-’3’后,c2中的值为( A )。
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语言中数组和指针的区别。
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
一、名词解释(每小题4分,共20分)1. 变量2. 赋值运算3. int4. 数组5. 函数二、单选题(每小题2分,共20分)1. 以下运算符中,表示取余数运算的是( )A. %B. /C. !=D. <=2. C语言中,表示“不等于”、“不相等”的运算符是( )A. ≠B. !=C. < >D. =/=3. C语言中,printf函数中的格式字符%d用来( )A. 输出一个字符串B. 输出单个字符C. 输出十进制整数D. 输出双精度浮点数4. C语言中,要求接受用户从键盘输入的一个英文字符到char型变量ch中,那么,该语句的正确写法是( )A. scanf("%z",ch);B. scanf("%c",ch);C. scanf("%z",&ch);D. scanf("%c",&ch);5. 定义一个用来存放双精度浮点数且名为x的变量的正确语句是( )A. double x;B. float x;C. Double x;D. Float x;6. 判断整数型变量score的取值是否在区间[60,100]的正确写法是( )A. if (score>=60 and score<=100)B. if (score>=60 && score<=100)C. if (score>=60 & score<=100)D. if (60<= score <=100)7. 定义最多能存放30个整数且名为scores的数组的正确语句是( )A. INT scores[30];B. int [30] scores;C. int scores[30];D. INT [30] scores;8. 利用string.h中库函数求字符串s的长度的表达式正确写法是( )A. len(s)B. length(s)C. strLen(s)D. strlen(s)9.利用string.h中库函数判断字符串s1大于等于字符串s2的正确写法是( )A. if(strcmp(s1,s2)>=0)B. if (s1>=s2)C. if(strcmp(s1,s2)≥0)D. if (s1≥s2)10. 以下能输出数字0,1,2,3,4,5,6,7,8,9且每行输出一个数字的正确语句是( )A. for( i=0; i<10; i++ ) { printf("%d",i); }B. for( i=0; i<10; i++ ) { printf("%d\n",i); }C. for( i=0; i<10; i++ ) { printf("%d\n",i+1); }D. for( i=0; i<10; i-- ) { printf("%d\n",i); }三、判断题(每小题2分,共10分)1. C语言中,int可以作为变量名,例如语句:char int;可以定义名为int 的字符型变量。
计算机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语言中的指针概念以及指针与变量的关系。
一、选择题(1~40题每题1分,41~50题每题2分,共60分)以下各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.微型运算机的运算器、操纵器及内存储器组合在一路,称之为()(此题分值:1分)【正确答案】DD.主机2.以下存储器中,存取速度最快的是()(此题分值:1分)【正确答案】DA.软盘B.硬盘C.光盘D.内存3.系统软件中最重要的是()(此题分值:1分)【正确答案】AA.操作系统B.语言处置程序C.工具软件D.数据库治理系统4、CPU处置的数据大体单位为字,一个字的字长()(此题分值:1分)【正确答案】DA.为8个二进制位B.为16个二进制位C.为32个二进制位D.与CPU芯片的型号有关5.打印当前屏幕内容应利用的操纵键是()(此题分值:1分)【正确答案】D(Print Screen)6.能将高级语言源程序转换成目标程序的是()(此题分值:1分)【正确答案】CA.调试程序B.说明程序C.编译程序D.编辑程序7.二进制数转换成十进制数是()(此题分值:1分)【正确答案】B8.十六进制数转换成十进制数是()(此题分值:1分)【正确答案】A9.中国国家运算机网络设施是()(此题分值:1分)【正确答案】A10.操纵键^C的功能为()(此题分值:1分)【正确答案】AA.终止当前操作B.系统复位C.暂停标准输出设备的输出D.终止命令行为命令处置程序,DOS系统启动后,它()(此题分值:1分)【正确答案】BA.驻留在外存,需要时装入内存B.常驻内存,包括所有内部命令C.不能处置外部命令D.不能处置后缀为.EXE的可执行文件12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应利用命令()(此题分值:1分)【正确答案】C*.PAS .?ASPAS P*.PAS *.P*.PAS *.P??13.设当前盘中文件的途径为\A\B\XU,当前目录为\A\B。
一、单选题1、关于下面程序段,正确的是()。
int k=10;while(!k)k--;A.循环体一次也不执行B.死循环C.循环体执行1次D.循环体执行10次正确答案:A2、下面程序的运行结果是( )。
#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1B.死循环C.1 -2D.10正确答案:C3、已定义int j; 下面程序段的输出结果是()。
for(j=7;j<10;j++)printf("%d",j);A.无结果B.8910C.789D.91011正确答案:C4、下面程序的输出结果是()。
#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.0B.死循环C.32D.28正确答案:C5、下面程序的输出结果是()。
#include <stdio.h>int main( ){int j,s;for(j=1;j<=7;j++)s=s+j;printf("%d",s);}A.死循环B.0C.不确定D.28正确答案:C6、已定义int j,s; 则下面程序段的输出结果是()。
int j,s;for(j=1,s=0;j<=5;j++)s*=j;printf("%d",s);A.0B.无结果C.120D.死循环正确答案:A7、从循环体内某一层跳出,继续执行循环外的语句是( )。
A.if语句B.break语句C.空语句D.continue语句正确答案:B8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。
一、程序设计共113题第1题题号:319#include ""void wwjt();int fun(int m){int i,k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i==0) k=0;return k;}第2题题号:351-----------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp 所指一维数组中。
二维数组中的数已在主函数中赋予。
#include<>#include<>#define M 3#define N 4void wwjt();void fun(int tt[M][N],intpp[N]){int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>pp[j])pp[j]=tt[i][j];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)#include <>#include<>void wwjt();double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。
(n<28)#include <>#include""void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break; if(k==i)s=s*i;}return s;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。
《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是()A、abcB、12ACC、sunD、 A23、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是()A、-24B、0C、4D、164、下列运算符中优先级最高的是()A、<B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是()A、%B、/C、%和/D、 +6、以下关于运算符的优先顺序的描述正确的是()A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、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,&z);9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:()void main ( ){ int m,n;scanf(“%2d%3d”,&m,&n);printf(“m=%d n=%d\n”,m,n);}A、m=23 n=45B、m=234 n=56C、m=23 n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是()main( ){ int x,y;scanf(“%d”,&x);y=x>12x+10:x-12;printf(“%d\n”,y);}A、 0B、 22C、 12D、1011、C语言中while和do-while循环的主要区别()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)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,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是()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( ){ int x=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、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为()func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是()。
A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套19、请读程序long fun5(int n){long s;if((n==1)||(n==2))s=2;elses=n+fun5(n-1);return (s);}main( ){long x;x=fun5(4);printf(%ld\n”,x);}上面的程序的运行结果是()A、9B、 10C、12D、1820、若有下面的变量定义,以下语句中合法的是()。
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的值为。
2、C语言中三种逻辑运算符为、 ____、___ 。
3、在C语言中,逻辑“真”值用表示,逻辑“假”值用表示。
4、如a是int型变量,则计算表达式a=25/3%3后a的值为。
5、若a=1,b=4,c=3,则表达式!(a<b)&&!c||1的值是___ 。
6、当a=3,b=2,c=1时,表达式f=a>b>c的值是。
7、常见的循环语句有语句、do-while语句和语句。
8、若有定义:double x[3][5];则x数组中行下标的下限为__ ___,列下标的下限为__ ___。
9、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是____ ___,a[2][2]得到的初值是,a[0][2]得到的初值是。
10、在C语言中,一个函数由和两部分组成,函数体一般包括部分和部分。
三、程序分析题(20分,每题5分)1、以下程序的输出结果是main( ){int y=10;for(;y>0;y--)if(y%3==0){printf(“%d”,--y);continue;}}2、有以下程序段,若输入1298,则输出结果是main( ){int n1,n2;scanf(“%d”,&n2);while (n2!=0){ n1=n2%10;n2=n2/10;printf(“%d”,n1);}3、以下程序的输出结果是#include “”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);}4、以下程序的输出结果是#include “”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+……+99+100.2、输入一同学成绩,判断其成绩等级。
等级范围为:90以上等级为A89~80 等级为B79~70 等级为C69~60 等级为D60以下等级为EC语言程序设计参考答案一、选择题DBABA6---------10CCBCAACCCAABBAD二、填空题1)、12 2)、&& || ! 3)、1 04)、2 5)、1 6)、0 7)、while for8)、2 4 9)、0 8 0 10)、函数头函数体声明执行三、程序分析1)、852 2)、8921 3)、d1=7 4)、k=5d2=5四、编程1、#include “”Main(){int sum=0,I;For(i=1;i<=100;i++)Sum=sum+I;Printf(“1+2+……+100=%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”);}}¥—。