C语言习题级答案3
C语言习题集(预处理命令篇)
第六章预处理命令6.1 选择题1.下面叙述中正确的是()。
A. 带参数的宏定义中参数是没有类型的B. 宏展开将占用程序的运行时间C. 宏定义命令是C语言中的一种特殊语句D. 使用#include命令包含的头文件必须以“.h”为后缀2.下面叙述中正确的是()。
A. 宏定义是C语句,所以要在行末加分号B. 可以使用#undef命令来终止宏定义的作用域C. 在进行宏定义时,宏定义不能层层嵌套D. 对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换3.在“文件包含”预处理语句中,当#include后面的文件名用双引号括起时,寻找被包含文件的方式为()。
A. 直接按系统设定的标准方式搜索目录B. 先在源程序所在目录搜索,若找不到,再按系统设定的标准方式搜索C. 仅仅搜索源程序所在目录D. 仅仅搜索当前目录4.下面叙述中不正确的是()。
A. 函数调用时,先求出实参表达式,然后带入形参。
而使用带参的宏只是进行简单的字符替换B. 函数调用是在程序运行时处理的,分配临时的内存单元。
而宏展开则是在编译时进行的,在展开时也要分配内存单元,进行值传递C. 对于函数中的实参和形参都要定义类型,二者的类型要求一致,而宏不存在类型问题,宏没有类型D. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果5.下面叙述中不正确的是()。
A. 使用宏的次数较多时,宏展开后源程序长度增长。
而函数调用不会使源程序变长B. 函数调用是在程序运行时处理的,分配临时的内存单元。
而宏展开则是在编译时进行的,在展开时不分配内存单元,不进行值传递C. 宏替换占用编译时间D. 函数调用占用编译时间6.下面叙述中正确的是( )。
A. 可以把define和if定义为用户标识符B. 可以把define定义为用户标识符,但不能把if定义为用户标识符C. 可以把if定义为用户标识符,但不能把define定义为用户标识符D. define和if都不能定义为用户标识符7.下面叙述中正确的是()。
c语言 习题及答案
c语言习题及答案C语言习题及答案C语言作为一门广泛应用于计算机科学领域的编程语言,其重要性不言而喻。
对于初学者而言,通过习题的练习可以帮助巩固基础知识,培养编程思维,提高解决问题的能力。
本文将介绍一些常见的C语言习题,并给出相应的答案,希望能对学习C语言的初学者有所帮助。
1. 习题一:编写一个程序,要求用户输入两个整数,然后输出它们的和。
答案一:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:\n");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 习题二:编写一个程序,判断一个整数是否为偶数。
答案二:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:\n");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```3. 习题三:编写一个程序,输出1到100之间所有能被3整除的数。
答案三:```c#include <stdio.h>int main() {int i;printf("1到100之间能被3整除的数有:\n");for (i = 1; i <= 100; i++) {if (i % 3 == 0) {printf("%d ", i);}}printf("\n");return 0;}```4. 习题四:编写一个程序,计算一个正整数的阶乘。
C语言习题集(含答案)
一、单选题:(1)在C语言提供的合法的关键字是( )A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)’\084’ B) ’\x43’C)’ab’D) "\0”(3)若有定义和语句:char s[10]: s="abcd”;printf(”%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p,a=10, b=20;pp=&p;p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10,20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n”,u, v, w);则输出结果是()A) 8,16,10B)10,10,10 C)8,8,10 D) 8,10,10 (6) 若有以下定义和语句char c1=' b', c2='e’;printf(”%d,%c\n", c2-c1,c2—'a’+”A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7)若有以下定义:char s[20]=”programming”,*ps=s;则不能代表字符o的表达式是( )A)ps+2 B) s[2]C) ps[2]D) ps+=2,*ps(8)若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是() for (i=5; i; i—-)for(j=0;j<4; j++){。
}A) 20B) 25 C)24 D) 30(9)若有以下定义和语句:char *s1=”12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()A)4B)5 C)9 D)10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是()A) *p B) a[10]C)*a D)a[p-a](11)下面程序的输出是()main(){char *s=”121";int k=0,a=0,b=0;do{k++;if(k%2==0) {a=a+s[k]—’0’;continue;}b=b+s[k]—’0';a=a+s[k]—'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C)k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main(){ unsigned a=32768;printf("a=%d\n”,a);}运行结果: —32768A)a=—32768 B)a=32767C)a=-32767 D)a=—1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){case1.0:printf("*\n”);{case1, 2:printf(”*\n”);case2。
C语言全部章节习题集(参考答案)
C语言全部章节习题集(参考答案).txt如果真诚是一种伤害,请选择谎言;如果谎言是一种伤害,请选择沉默;如果沉默是一种伤害,请选择离开。
第一章 C语言概述一、选择题:1、一个C程序的执行是从( A )。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。
A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。
A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。
2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。
4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。
5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
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的整数之和。
C语言习题集参考答案
第一章C语言概述一.选择题1.一个C程序的执行是从。
A.程序的main函数开始,到main函数结束B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。
A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面二.填空题1.C源程序的基本单位是函数。
2.一个C源程序中至少应包括一个主函数或main函数。
3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/ 。
第二章数据的存储与运算一.选择题1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)A.4 B.16 C.32 D.482.下面正确的字符常量是。
A.”c” B.’\\’’C.’W’ D.’’3.下面不正确的字符串常量是。
A.’abc’ B.”12’12” C.”0” D.” “4.以下正确的叙述是。
A.在C程序中,每行中只能写一条语句B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为。
A.D B.68 C.不确定的值 D.C6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。
C语言程序设计习题集及参考答案
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
C语言习题全集 答案
目录第一单元程序设计和C语言.................................................... 错误!未定义书签。
第二单元顺序程序设计............................................................ 错误!未定义书签。
第三单元分支程序设计............................................................ 错误!未定义书签。
第四单元循环程序设计............................................................ 错误!未定义书签。
第五单元数组........................................................................ 错误!未定义书签。
第六单元函数........................................................................ 错误!未定义书签。
第七单元指针........................................................................ 错误!未定义书签。
第八单元结构体和共用体........................................................ 错误!未定义书签。
第九单元文件........................................................................ 错误!未定义书签。
附加题............................................................................................ 错误!未定义书签。
三级c语言机试题及答案
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
C语言习题集参考答案
C语言习题集一、程序设计基本概念1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是_B _。
A)有0个或多个输入。
B)有0个或多个输出。
C)有穷性。
D)可行性。
3、以下叙述中正确的是___C__。
A)C语言比其它语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的,具有其它语言的一切优点。
4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
二、C程序设计初步1、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _0012、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int3、以下符合C语言语法的实型常量是__C__。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
C语言习题册答案集
第1章绪论一、选择题1~5 CABCD 6~10 BDCBC 11~15 AADCC二、程序填空题1、一个C语言程序是由函数组成的。
2、C源程序的后缀名为3、在C程序中,main()函数最多有 1 个。
4、一个C语言程序总是从主函数/main( ) 开始执行。
5、在C语言里输入是由scanf 函数实现,输出是由printf 函数实现。
6、C语言中,当复合语句多于一条时,要求有一对{ } 括号。
7、一个C源程序必须经过_ 编译__和_链接__生成exe文件才能运行8、在一个C程序中注释部分两侧的分界符分别为_/*_____和_*/___9、编写计算机所程序所使用的语言称为__程序设计语言______。
10、程序设计语言的发展经历了三个阶段__机器语言__、_汇编语言_和__高级语言__第2章基本数据类型及顺序结构程序设计一、选择题01~05 ACDDA 06~10 ACAAC 11~15 BDBBC16~20 DABAA 21~25 DBDAA 26~30 ADDCB31~35 BDCAB二、程序填空题1、__基本数据类型、_构造类型___ 和___其它类型_______。
2、 4 、 4 、8 、 1 。
3、double4、x<-5||x>5或abs(x)>55、y%2==1 或y%2!=06、x%3==0&&x%7==0或x%21==0 ,7、10 ,10 。
8、printf(“****a=%d, b=%d****”,a,b) 。
9、a:b ; c:t1 ;10、x%10 , x/10%10 ;三、程序阅读题1、G 。
2、2, 1 。
3、0 。
4、16 。
5、2,50 。
6、b 。
7、3 。
8、10,20,0 。
9、2, 。
10、67, e 。
第3章分支结构一、选择题01-05:DCBCD 06-10:CBBBC 11-15:CBBDB16-20:ACDAA 21-25:CADBC 26-30:CBBAD二、程序阅读题(共10题)1、20,0 。
C语言程序设计习题集3
C语⾔程序设计习题集3指针⼀单项选择题(每题2分,共40分)1 以下叙述中错误的就是_B__。
A 在程序中凡就是以“#”开始的语句⾏都就是预处理命令⾏B 预处理命令⾏的最后不能以分号表⽰结束C #define MAX就是合法的宏定义命令⾏D C程序对预处理命令⾏的处理就是在程序执⾏的过程中进⾏的2 若程序中有宏定义⾏:#define N 100 ,则以下叙述中正确的就是__B_。
A 宏定义⾏中定义了标识符N的值为整数100B 在编译程序对C源程序进⾏预处理时⽤100替换标识符NC 对C源程序进⾏编译时⽤100替换标识符ND 在运⾏时⽤100替换标识符3 若有如下宏定义:#define N 2#define y(n) ((N+1)*n)则执⾏下列语句:z=4*(N+y(5));后的结果就是_B__。
A 语句有错误B z值为68C z值为60D z值为1804 以下程序运⾏后的输出结果就是_A__。
#define F(X,Y) (X)*(Y)main(){ int a=3,b=4;printf("%d\n",F(a++,b++));}A 12B 15C 16D 205 以下程序运⾏后的输出结果就是_C__。
#define f(x) (x*x)main(){ int i1,i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}A 64,28B 4,4C 4,3D 64,646 若已定义a为int型变量,则__D_就是对指针变量p的正确说明与初始化。
A int p=&a;B int *p=a;C int *p=*a;D int *p=&a;7 已知下列说明语句:static int a[]={2,4,6,8}static int *p[]={a,a+1,a+2,a+3};int **q;q=p;则表达式**(q+2)的值就是_A__。
(完整版)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);的输出结果为___。
C语言程序设计习题答案(第三版)
C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。
4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图或N-S流程图表示求解以下问题的算法。
1. 从键盘输入10个整数,求出其中的最小数并输出。
2. 求1+2+3+…+100的值。
3. 求10~50的所有素数之和。
4. 求下列分段函数的值。
四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。
**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。
C语言习题集答案(最新)
3、float av;
scanf(“%d%d%d”,&x,&y,&z);
(x+y+z)/3.0
四、阅读程序,写程序结果
1、3 3
2、1
3、ch=a,m=68,x=25.6
4、z=21.000000
5、x=4 y=9
五、把下面的数学表达式改写成C语言表达式
15、10, 6
16、5.5
17、1
18、0
二、选择题
1~5、BBBCD 6~10、BCCBD 11~15、AACBD 16~18、DAA
三、程序填空
1、float x,y
&x,&y
y=x+y;
x=y-x;
2、scanf(“%d%f”,&m,&x);
prinft(“%d+%f=%f”,m,x,y);
7、char hc,mc,lc;
8、#define AY 2012
9、12
10、8
11、自增自减、算术、赋值、逗号
12、字母或下划线
13、十进制小数,指数
14、逻辑
15、6, 5
16、9
21、函数
22、main函数
23、分号
24、花括号
二、选择题
1~5、AAABC 6~10、ACBAD 11~12、DC
5、括号
6、1.9,新来旧去
7、变量x的值,表达式的值
8、括号、自增自减、算术、关系、逻辑、赋值、逗号
9、用运算符把操作数连接起来,相同的类型,自动转换,强制转换
10、变量,变量的值,逗号,最右边表达式的值
程序设计基础(C语言)第3版习题及答案
第1章C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3】上机运行本章的3个例题。
答:略。
【习题1-4】请从以下的4个选项中选择一个正确答案。
(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。
答:略。
【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。
C语言-习题集参考答案全部
目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试题31、C语言中不合法的字符常量就是 CA、’\65’B、’\xff’C、’\028’D、’&’2、具有相同类型的指针变量p与数组a,不能进行的操作就是(C)。
A、p=&a[0];B、p=a;C、p=&a;D、*p=a[0];3、若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果就是(B ) z=x>y?x:yA、72B、26C、48D、224、对于建立函数的目的,正确的说法就是 DA、提高程序的执行效率B、减少程序的篇幅C、减少程序文件所占的内存D、提高程序的可读性5、有定义:char*p1,*p2;则下列表达式中正确合理的就是 CA、p1/=5B、p1+=5C、p1=&p2D、p1*=p26、以下程序的运行结果就是(B)。
main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A、i=10,sum=9B、运行出现错误C、i=2,sum=17、若变量已正确定义且 k 的值就是 4,计算表达式 ( j =4, k--) 后,j与k的值为(C)A、j=4, k=4B、j=3, k=3C、j=4, k=3D、j=3, k=48、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(A)A、数组x的长度大于数组y的长度B、数组x与数组y等价C、数组x与数组y的长度相同D、数组x的长度小于数组y的长度9、在下述程序中,判断i > j共执行了多少次 C#include <stdio、h>main(){int i = 0, j = 10, k = 2, s = 0;for( ; ; ){i += k;if(i > j){printf(“%d\n”, s);break;}s += i;}}A、4B、8C、6D、710、下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的就是(D)。
A、8B、17C、6D、2311、下面判断正确的就是(D)。
A、char *a="china";等价于 char *a;*a="china";B、char str[10]={"china"};等价于char str[10];str[]={"china"};C、char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";D、char *s="china";等价于 char *s;s="china";12、设 b的值为二进制数, b=00000010;表达式(b>>2)/(b>>1)的值就是(A)。
A、0B、2C、8D、413、以下叙述正确的就是(A)。
A、用do-while语句构成的循环,在while后的表达式为零时结束循环B、do-while语句构成的循环只能用break语句退出、C、do-while语句构成的循环不能用其它语句构成的循环来代替、D、用do-while语句构成的循环,在while后的表达式为非零时结束循环、14、以下正确的说法就是(D)。
A、如果形参与实参类型不一致,以实参类型为准B、return后边的值不能为表达式C、定义函数时,形参的类型说明可以放在函数体内D、如果函数值的类型与返回值类型不一致,以函数值类型为准15、已定义两个字符数组a,b,则以下正确的输入格式 B就是A、scanf("%s%s", &a, &b);B、scanf("%s%s", a, b);C、gets("a"),gets("b");D、get(a, b);16、宏定义#define PI 3、14中的宏名PI代替 CA、不确定类型的数B、一个单精度实数C、一个字符串D、一个双精度实数17、以下叙述中正确的就是(A)。
A、C程序中注释部分可以出现在程序中任意合适的地方B、分号就是C语句之间的分隔符,不就是语句的一部分C、花括号“{“与”}”只能作为函数体的定界符D、构成C程序的基本单位就是函数,所有函数名都可以由用户命名18、若有说明:int a[3][4];则数组a中各元素(A)。
A、不能得到确定的初值B、可在程序的编译或运行阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译阶段得到初值019、下面四个选项中,均就是不合法的用户标识符的选项就是(D)。
A、_123 temp intB、A P_0 doC、float la0 _AD、b-a goto int20、以下不能对二维数组a进行正确初始化的语句就是(B)。
A、int a[][3]={{1,2},{0}};B、int a[2][3]={{1,2},{3,4},{5,6}};C、int a[2][3]={0};D、int a[][3]={1,2,3,4,5,6};21、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值就是(B)。
A、9B、-12C、6D、-322、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的就是(B)。
A、有穷性B、有零个或多个输出C、可行性D、有零个或多个输入23、下列语句中,不正确的就是(C)。
A、static char a[2]={'1'};B、static char a[2]={1,2};C、static char a[2]={'1','2','3'};D、static int a[2]={'1','2'};24、若有下列定义,则对a数组元素地址的正确引用就是(D)。
int a[5],*p=a;A、*(p+5)B、*&a[5]C、*p+2D、*(a+2)25、若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为(D)。
A、p4=&ch;*p4=getchar();B、p2=(char *)malloc(1);scanf("%c",p2);C、p1=&ch; scanf("%c",p1);D、*p3=getchar();26、以下选项中合法的实型常数就是(A)。
A、、2E0B、E-3C、5E2、0D、1、3E27、若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的就是(A)。
A、typedef char* STP;B、typedef *char STP;C、typedef stp *char;D、typedef STP char *s;28、sizeof(float)就是(B)。
A、一种函数调用B、一个整型表达式C、一个不合法的表达式D、一个双精度型表达式29、下面程序的输出结果就是main(C){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、2B、4C、3D、130、以下四个程序中,不能对两个整型值进行交换的就是 D A、B、C、D、判断1、C语言规定,必须用main作为主函数名 T2、如果想使一个数组中全部元素的值为0,可以写成 Fint a[10]={0*10};3、若i =3,则printf("%d",-i++);输出的值为-4 F4、在C 语言中,此定义与语句就是合法的: Tenum aa{ a=5,b,c}bb;bb=(enum aa)5;5、用fopen("file","r+");打开的文件"file"可以进行修改。
T6、循环结构中的continue语句就是使整个循环终止执行 F7、在C语言中,对于数组的定义char a[8]="computer"就是错误的、 T8、C语言本身不提供输入输出语句,输入与输出操作就是由函数来 T 实现的。
9、共同体变量所占的内存长度等于最长的成员的长度。
T10、#define 与printf 都不就是C语句。
T程序设计1、/*------------------------------------------------【程序设计】--------------------------------------------------功能:给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。
------------------------------------------------*/#include<stdio、h>int station(int s[],int n){/**********Begin**********//********** End **********/}main(){int a[100],n,i,t;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);t=station(a,n);printf("the max_value position is:%d\n",t); TestFunc();}TestFunc(){FILE *IN,*OUT;int n;int i[10];int o;IN=fopen("in、dat","r");if(IN==NULL){printf("Read ");}OUT=fopen("out、dat","w");if(OUT==NULL){printf("Write ");}for(n=0;n<10;n++){fscanf(IN,"%d",&i[n]);}o=station(i,10);fprintf(OUT,"%d\n",o);fclose(IN);fclose(OUT);}答案int i,k;k=0;for(i=1;i<=n;i++)if(s[i]>s[k]) k=i;return(k+1);2、/*------------------------------------------------ 【程序设计】--------------------------------------------------功能:求n阶方阵主、副对角线上的元素之积。