关于C语言中的字符串数组输入输出控制符的若干问题
- 格式:doc
- 大小:27.50 KB
- 文档页数:2
—06.30北京理工大学M O O C C语言程序设计(下)网上作业答案第一周编程作业1、求最大公约数和最小公倍数(15分)题目内容:编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。
输入格式:两个正整数输出格式:最大公约数和最小公倍数输入样例:12,40[回车]输出样例:最大公约数:4[回车]最小公倍数:120[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int fun1(int m,int n){int r;r=m%n;return r==0?n:fun1(n,r);}int fun2(int m,int n){int t;t=m*n/fun1(m,n);return t;}int main(){ int t,m,n;scanf("%d,%d",&m,&n);if(m<n){t=m;m=n;n=t;}printf("最大公约数:%d\n",fun1(m,n));printf("最小公倍数:%d\n",fun2(m,n));return 0;}2、排序并插入(15分)题目内容:编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。
输入格式:9个整数和1个整数输出格式:10个整数输入样例:2,3,1,5,6,76,89,31,90[回车]7[回车]输出样例:1,2,3,5,6,7,31,76,89,90[回车]时间限制:500ms内存限制:32000kb Code:#include <stdio.h>int main(){int t,j,i,n[10];for(i=0; i<9; i++){scanf("%d", &n[i]);if(i<8) scanf(",");}scanf("%d",&n[9]) ;for(i=0;i<9;i++){for(j=0;j<= 8-i;j++){if(n[j] > n[j+1]){t = n[j];n[j] = n[j+1];n[j+1] = t;}}}for(i=0;i<10;i++){printf("%d",n[i]);if(i<9) printf(",");}return 0;}第二周编程作业1、最大公约数(15分)题目内容:输入两个整数m,n,用递归算法实现计算两个数的最大公约数。
高等教育自学考试C语言程序设计(二)课程代号(05772)同步练习题班级学号姓名二O 一六年三月目录第一章C语言概述第二章基本数据类型第三章控制结构第四章运算符和表达式第五章函数第六章数组第七章字符与字符串第八章变量类别与编译预处第九章指针第十章结构体、共用体和枚举类型第十一章文件第一章C语言概述一、单项选择题1.在计算机上可以直接运行的程序是()。
A.高级语言程序B.汇编语言程序C.机器语言程序D.C语言程序2. 一个C语言程序是由()A.若干函数组成B.若干过程组成C.若干主程序组成D.若干子程序组成3. C语言不具有的特点是()A.具有结构化的控制语句B.数据类型丰富C.语法限制不太严格,程序设计自由度大D.在可移植性上,C语言比其他语言差4. 以下叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个主函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别和执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,所以具有其他语言的一切优点二、填空1. 计算机语言的发展经过了、和等阶段。
2. C语言既适合编写,也适合编写应用软件。
标准答案一、单项选择题CADDC二、填空1. 机器语言,汇编语言,高级语言2. 系统软件第二章基本数据类型一、单项选择题1.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%22.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型3.C语言的长整型数值在计算机中占用的字节个数是( )A.1B.2C.3D.44.C语言中,″\x3d″在内存中占用的字节数是( )A.1B.2C.4D.55.下列关于C语言的叙述错误的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义6.下列转义字符中错误的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′7.下列标识符中,不是C语言保留字的是( )A. charB. whileC. minD. default8.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default9. 数据-324在二进制文件和文本文件中所占的字节数分别是()A.2,2B.2,4C.4,2D.4,410. 请选出可以作为C语言用户标识符的一组标识符()A.void, define, WORD B.A3_B3, _123, abcC.FOR, -abc, Case D.2a, Do, Sizeof11.下列运算符优先级最高的是()A.关系运算符B.赋值运算符C.算术运算符D.逻辑运算符12. sizeof(float)是()A.一种函数调用B.一个不合法的表示形式C.一个整型表达式D.一个浮点表达式13. 下列叙述不正确的是()A.一个C语言程序可由一个或多个函数组成B.一个C语言程序必须包含一个main函数C.C语言程序的基本组成单位是函数D.在C语言程序中,注释说明只能位于一条语句的后面14. 编译C语言程序时,程序中的注释部分将()A.不参加编译,也不会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.参加编译,并会出现在目标程序中15. 下列字符串常量不正确的是()A.'abc' B."12'12" C."0" D." "16. 下列4个选项中,均是合法整型常量的是()A.160 -0xffff 011B.-0xcdf 01ª0xeC.-01 986,012 0668D.-0x48a 2e5 0x17. 以下选项中不属于C语言类型的是()A.signed short int B.unsigned long intC.unsigned int D.long short18. 数值029是一个()A.八进制数B.十六进制数C.十进制数D.非法数19. 在C语言中,要求运算数必须是整型的运算符是()A./ B.++ C.!=D.%20. 当c的值不为0时,以下能将c的值赋给变量a,b 的是()A.c=b=a B.(a=c) || (b=c)C.(a=c) && (b=c) D.a=c=b二、填空1. 表示空类型的保留字是_____________。
C语言习题集合(数组)第四章数组4.1 选择题1. 以下关于数组的描述正确的是( )。
A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是( )。
A.int a(10);B. int n=10,a[n];C.int n;D. #define SIZE 10 scanf("%d",&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是( )。
A. int m[10]=(0,0,0,0) ;B. int m[10]={ };C. int m[ ]={0};D. int m[10]={10*2};5. 若有定义:int bb[ 8];。
则以下表达式中不能代表数组元bb[1]的地址的是( )。
A. &bb[0]+1B. &bb[1]C. &bb[0]++D. bb+16. 假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是( )。
A. 3B. 6C. 10D.207. 若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是( )A. a[g-c]B. a[4]C. a['d'-'c']D. a['d'-c]8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
C Primer Plus(第五版)学习笔记第一章概览1.1 C语言的起源记住Dennis Ritchie和Ken Thomson。
是在设计UNIX操作系统的时候开发的。
1.2 使用C语言的理由C是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,控制特性是很重要的。
其设计使得用户可以自然地采用自顶向下的规划、结构化的编程,以及模块化的设计。
这种做法使得编写出的程序更可靠、更易懂。
C是一种高效的语言。
C程序往往很紧凑且运行速度快。
C是一种可移植语言。
由于C与UNIX的紧密联系,UNIX系统通常都带有一个C编译器作为程序包的一部分。
Linux中同样也包括一个C 编译器。
C强大而又灵活(计算机世界中经常使用的两个词)。
C面向编程人员的需要。
它允许您访问硬件,并可以操纵内存中的特定位。
它具有丰富的运算符供选择,让您能够简洁地表达自己的意图。
多数C实现都有一个大型的库,其中包含有用的C函数。
这些函数能够处理编程人员通常会面对的许多需求。
C的简洁性与其丰富的运算符相结合,使其可能会编写出极难理解的代码。
没有谁强迫您编写含糊难懂的代码,但存在这样的可能性。
试问,除C之外还有哪种语言存在一年一度的“含糊代码”(ObfuscatedCode)竞赛呢?1.3 C语言的发展方向不管C++和Java这些较新的语言如何流行,C在软件产业仍然是一种重要的技能,在最想获得的技能中,它一般都列在前10名。
特别是在嵌入式系统的编程中,C已开始流行。
也就是说,它将用来为汽车、照相机、DVD播放器和其他现代化设备中逐渐普及的微处理器编程。
同样,C已开始进入长期以来一直属于FORTRAN的科学编程领域。
最后,由于它是一种适合用来开发操作系统的语言,C在Linux的开发中也扮演着重要的角色。
1.4 计算机工作的基本原理CPU的工作非常简单,至少在我们所做的这一简短描述中是这样的。
它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。
计算机高级语言(C)(高起专)一、单选题1. 下关于运算符优先顺序的描述中正确的是一一一。
(5分)(A) 关系运算符< 算术运算符< 赋值运算符<逻辑与运算符(B) 逻辑运算符< 关系运算符< 算术运算符<赋值运算符(C) 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符(D) 算术运算符< 关系运算符< 赋值运算符<逻辑与运算符参考答案:C2. 在c语言中,引用数组元素时,其数组下标的数据类型允许是__.(5分)(A) 整型常量(B) 整型表达式(C) 整型常量或整型表达式(D) 任何类型的表达式参考答案:C3. 下面不正确的字符串常量是_______。
(5分)(A) 'abc'(B) "12'12"(C) "0"(D) ""参考答案:A4. 下面四个选项中,均是不合法的整型常量的选项是:_______。
(5分)(A) 一一0f1一0xffff0011(B) 一0Xcdf01712,456(C) 一018999 5e2(D) 一0x48eg一068 03f参考答案:D5. 以下符合C语言语法的赋值表达式是_______。
(5分)(A) d=9+e+f=d+9(B) d=9+e,f=d+9(C) d=9十e,e++,d十9(D) d=9十e++=d十7参考答案:B6. 下列四组选项中,均不是C语言关键字的选项是_______。
(5分)(A) defineiftype(B) getccharprintf(C)includescanfcase(D) while go pow参考答案:A7.若有说明语句:char c='\72'则变量c_______。
(5分)(A) 包含1个字符(B) 包含2个字符(C) 包含3个字符(D) 说明不合法,c的值不确定参考答案:A8. 以下说法正确的是:_______。
目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (2)第二章答案 (25)第三章顺序结构程序设计 (3)第四章选择结构程序设计 (4)第五章循环结构程序设计 (6)第六章数组 (7)第六章答案 (26)第七章函数 (9)第七章答案 (27)第八章指针 (12)第八章答案 (28)第九章结构体与共用体 (14)第九章答案 (28)第十章文件 (16)第十章答案 (29)模拟试题 (17)模拟试题答案 (25)第一章C语言基础知识考点:1.C语言的特点。
2.C语言的基本结构、字符集、标识符、关键字。
3.算法的概念和描述方法。
一、选择题1. A 是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序2.下列说法正确的是 C 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对3.下列说法正确的是C。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号4.下列标识符正确的是C。
A)x+y123 B)4_student C)a456 D)U.S5.以下说法正确的是C。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分6.B不是C语言提供的合法关键字。
A)char B)scanf C)case D)default7.C语言提供的合法关键字是C。
A)ELSE B)INT C)case D)printf8. 一个C语言程序是由B。
A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.9. 以下叙述中错误的是(C )A.C语言是一种结构化程序设计语言。
中职c语言教案篇 1一、教学目标1. 让学生理解C 语言的基本语法规则,包括变量、数据类型、运算符等。
2. 使学生熟练掌握常见编程结构,如顺序结构、选择结构和循环结构。
3. 培养学生良好的编程习惯,如代码规范、注释等。
二、教学重点与难点1. 重点(1) C 语言的基本语法规则和常见编程结构。
(2) 编程实践中如何运用所学知识解决实际问题。
2. 难点(1) 循环结构的理解和应用。
(2) 指针和数组等复杂数据类型的掌握。
三、教学方法1. 讲授法:系统讲解C 语言的基础知识和编程技巧。
2. 案例分析法:通过实际案例分析,让学生更好地理解C 语言在实际应用中的作用。
3. 实践操作法:安排学生进行编程实践,加深对知识的理解和掌握。
四、教学过程1. 课程导入(约5 分钟)先简单介绍计算机编程在当今社会的广泛应用,激发学生的学习兴趣。
然后引出C 语言作为一种基础且重要的编程语言,强调学习它的必要性。
2. 基础知识讲解(约30 分钟)(1) 介绍C 语言的发展历程和特点。
(2) 讲解C 语言的数据类型,如整型、浮点型、字符型等。
(3) 讲解变量的定义和使用方法。
3. 编程结构讲解(约40 分钟)(1) 顺序结构:通过简单的示例,让学生理解程序按照语句的先后顺序执行。
(2) 选择结构:讲解if-else 语句的使用,通过实际问题让学生学会如何进行条件判断。
(3) 循环结构:重点讲解for 循环和while 循环,通过案例让学生明白循环的作用和应用场景。
4. 课本讲解以下是一段 C 语言代码示例:```c#include <stdio.h>int main() {int num1 = 5, num2 = 10;int sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```分析:这段代码首先包含了标准输入输出头文件`stdio.h`。
字符串1.以下能正确定义字符串的语句是A char str[]={'\064'};B char str="\x43";C char str='';D char str[]="\0";1 D解析:在C语言中,字符串常量是由双引号括起来的,由若干个字符所组成的序列。
所以A选项中的字符是由一对单引号括起来,C选项中只有一个双引号,皆错。
对于B选项,定义了一个字符变量,却给它赋了字符串常量,错误。
若该改为char str[] =”\x43”,则也正确。
2.以下语句中存在语法错误的是A char ss[6][20];ss[1]="right?";B char ss[][20]={ "right?"};C char *ss[6]; ss[1]="right?";D char *ss[]={" right?"};2 A解析:A选项中ss[1]可以看作是一个地址常量,其值不能改变,所以不可以对其赋值。
但是在定义二维数组的时候,对其进行初始化是允许的,如选项B。
选项C和D定义的是字符指针变量,可以对其进行赋值。
3.设有以下定义和语句:char str[20]="Program",*p;p=str;则以下叙述中正确的是A *p与str[0]中的值相等。
B str与p的类型完全相同。
C str数组长度和p所指向的字符串长度相等。
D 数组str中存放的内容和指针变量p中存放的内容相同。
3 A解析:Str是地址常量,P是指针变量,两者类型不一致,选项B错误。
Str数组的长度是20,而P所指的字符串遇到’\0’就结束,本题中其长度应该为7,选项C错误。
同理,既然Str 数组的长度与P所指字符串长度不同,所以存放的内容肯定不同,选项D错误。
4.有以下程序运行后的输出结果是main(){ char p[]={ 'a','b','c' },q[]="abc";printf("%d %d\n",sizeof(p),sizeof(q));}A 4 4B 3 3C 3 4D 4 34 C解析:对于数组P,只有三个元素,分别是’a’,’b’,’c’,所以sizeof(P)的输出结果应该是3 ,对于数组q,存储了四个元素,分别是’a’,’b’,’c以及’\0’。
国家开放大学《程序设计基础》章节自测参考答案第一章导论一、选择题(每题12分,共60分)1.当代计算机的最主要的体系结构称为是______。
A.非冯·诺依曼机B.图灵机C.PASCAL机D.冯·诺依曼机2.计算机软件是指______ 。
A.计算机程序B.计算机程序及其有关文挡C.源程序D.源程序和目标程序3.计算机能直接执行的语言是______。
A.目标语言B.机器语言C.汇编语言D.高级语言4.显示器是______。
A.计算设备B.存储设备C.输入设备D.输出设备5.系统软件的核心软件是______。
A.汇编程序B.操作系统C.编译程序D.机器语言二、判断题(每题10分,共40分)6.CPU主要包括运算器和寄存器两大部分。
(×)7.图灵机由一条双向都可无限延长的被分为一个个小方格的磁带、一个有限状态控制器和一个读写磁头组成。
(√)8.冯·诺依曼在当年发表的EDVAC计算机方案确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
(√)9.计算机的硬件与软件虽然各有分工,但它们之间的功能界面是浮动的。
随着技术的发展,一些功能既可由硬件实现,也可由软件来完成。
(√)第二章解题要有程序一、选择题(每题6分,共48分)1.JAVA语言的类别是______。
A.面向硬件的程序设计语言B.面向问题的程序设计语言C.面向过程的程序设计语言D.面向对象的程序设计语言2.汇编程序的任务是______。
A.将汇编语言编写的程序转换为目标程序B.将汇编语言编写的程序转换为可执行程序C.将高级语言编写的程序转换为可执行程序D.将高级语言编写的程序转换为汇编语言程序3.C语言是______。
A.高级语言B.机器语言C.目标语言D.汇编语言4.要保证程序在多次反复使用过程中不发生错误,关键应该提高程序的______。
A.可靠性B.有效性C.正确性D.可维护性5.汇编语言属于______。
C语言字符型基础知识在学习中,大家都背过各种知识点吧?知识点在教育实践中,是指对某一个知识的泛称。
相信很多人都在为知识点发愁,下面是店铺为大家整理的C语言字符型基础知识,仅供参考,希望能够帮助到大家。
C语言字符型基础知识1. 字符型数据文字处理是计算机的一个重要应用领域,这个应用领域的程序必须能够使用和处理字符形式的数据。
在C语言中,字符型数据包括字符和字符串两种,例如'a'是字符,而"Windows" 是字符串。
字符型数据在计算机中存储的是字符的ASCII码(ASCII码表见附录A),一个字符的存储占用一个字节。
因为ASCII码形式上就是0 到255之间的整数,因此C语言中字符型数据和整型数据可以通用。
例如,字符"A"的ASCII码值用二进制数表示是1000001,用十进制数表示是65,在计算机中的存储示意图见图3-6。
由图可见,字符"A"的存储形式实际上就是一个整型数65,所以它可以直接与整型数据进行算术运算、混合运算,可以与整型变量相互赋值,也可以将字符型数据以字符或整数两种形式输出。
以字符形式输出时,先将ASCII码值转换为相应的字符,然后再输出;以整数形式输出时,直接将ASCII码值作为整数输出。
2.字符型常量字符常量亦被称为字符常数。
C语言中字符常量是括在一对单引号内的一个字符。
例如:'x'、'B'、'b'、'$'、'?'、' '(表示空格字符)、'3'都是字符常量,注意其中'B'和'b'是不同的字符常量。
除了以上形式的字符常量外,对于常用的但却难以用一般形式表示的不可显示字符,C语言提供了一种特殊的字符常量,即用一个转义标识符""开头,后续需要的转义字符来表示。
%c在c语言中的用法C语言是一种通用的高级程序设计语言,由美国计算机科学家Dennis Ritchie于1972年在贝尔电话实验室开发而成。
C语言的设计目的是用于系统编程,尤其是操作系统和其他大型软件的编写。
它是一种结构化、面向过程的编程语言,同时也支持面向对象编程,具有高效性、可移植性和可扩展性等优点。
在C语言中,%c是一种格式控制符,用于读取或输出一个字符。
1. 输出字符要输出一个字符,需要使用printf()函数,并在字符前加上格式控制符%c,表示输出字符。
例如,下面的代码将输出字母'A':```printf("%c", 'A');```除了直接输出字符外,还可以通过输入一个整数,再通过强制类型转换的方式将其转换成字符,然后再输出字符。
例如,下面的代码将输出ASCII码为65的字符'A':2. 读取字符在读取字符时,需要注意一些细节。
首先,scanf()会读取空白字符,例如空格、制表符和换行符等,因此要使用一个空格或换行符来消耗掉它们;其次,如果要读取多个字符,可以使用%c格式控制符并在循环中反复调用scanf()函数。
3. 字符数组字符数组是一种特殊的数组类型,它用于存储多个字符。
在C语言中,字符数组的定义方式如下:```char str[100];```这段代码定义了一个长度为100的字符数组str,可以用来存储最多100个字符。
要给字符数组赋值,可以使用strcpy()函数,例如:```char str[100] = "Hello world";printf("%s", str);```4. 字符串处理字符串是由多个字符组成的序列,C语言中使用字符数组来表示字符串。
在处理字符串时,需要使用一些字符串处理函数,例如strlen()、strcmp()和strcat()等。
下面介绍几个常用的字符串处理函数:- strlen()函数:用于求字符串的长度,即其中包含多少个字符。
一、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程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。
这些函数的说明都包括在stdio.h文件中。
②main是主函数的名称。
C语言习题及答案一选择题(一)单项选择题1 C++程序的执行总是从哪里开始的?( )A main函数B每一行C头文件D函数注释2 关于new 运算符的下列描述中,( )是错的。
A它可以用来动态创建对象和对象数组B使用它创建的对象和对象数组可以使用运算符delete删除C使用它创建对象要调用构造函数D使用它创建对象数组时必须指定初始值3 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
A内联函数B重载函数C递归调用D嵌套调用4 从定义unsigned var可以看出,var是一个()变量。
A无符号短整形B无符号小整数型C无符号整数D无符号长整形5 将两个字符串连接起来组成一个字符串时,选用()函数。
A strlenB strcpyC strcatD strcmp6 按照标识符的要求,()符号不能组成标识符。
A连接符B下划线C大小写字母D数字字符7 若x是一个bool型变量,则x||5<3的值()。
A为true B为false C为x值相同D为x值相反8 如果用数值来表示条件,则相当于false和true的分别是()。
A 0和1 B0和非0C1和非1D1和-19 每一个实在参数就是一个()A常量B变量C函数调用D表达式10 有以下程序main(){ int i ;for(i=0;i<3;i++)switch(i) {case1:printf(“%d”, i);case 2:printf(“%d”, i);default: printf (“%d”, i);}执行后输出结果是()A 011122B 012C 012020D 12011 有以下程序main( ){int i = j, 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,2 D2,2,312 有以下程序main(){ int a=5,b=4,c=3,d=2;if (a>b>c)printf (“%d\n”, d);else if ((c-1>=d)==1)printf (“%d\n”,d+1);elseprintf (“%d\n”, d+2);}执行后输出结果是()A 2B 3C 4 D编译时有错,无结果13 有以下程序main(){ int p[7]={11,13,14,15,16,17,18} i=0, k=0;while(i<7&&p[i]%2){k= k +p [i] ; i++;}printf(“%d\n”, k);}执行后输出结果是()A 58B 56C 45D 2414 有以下程序main(){ int i=0,s=0;do {if (i%2) { i++; continue; }i++;s += i;} while (i<7);printf (“%d\n”, s);}执行后输出结果是()A 16B 12C 28D 2115 有以下程序main( ){ int i=10, j=1 ; printf (“%d, %d\n”, i--,++j);}执行后输出结果是()A 9,2B 10,2C 9,1 D10,116 有以下程序main( ){char a,b,c,*d;a=’\’;b=’\xbc’;c=’\0xab’;d=”\0127”;printf (“%c %c %c %c\n”, a, b, c*d”);}编译时出现错误,以下叙述中正确的是()A程序中只有a=’\’;语句不正确Bb=’\xbc’;C d=”\0127”;语句不正确Da=’\’;和c=’\0xab’;语句都不正确17 有以下程序int f1 ( int x , int y ){return x>y ? x: y;}int f2 ( int x, int y){return x>y ? y: x;}main( ){ int a=4,b=3,c=5,d,e,f;d=f1(a, b); d=f1(d, c);e=f2(a, b); e=f2(e, c);f= a + b + c – d - eprintf (“%d % d %d\n”, d, f, e);}执行后输出结果是()A 3,4,5B 5,3,4C 5,4,3D 3,5,418 有以下程序void f ( int x, int y){ int t;If (x<y){ t=x ; x=y ; y=t ;}main( ){int a=4,b=3,c=5;f (a, b) ;f (a, c); f (b, c);printf (“%d, %d, %d\n ”, a, b, c);}执行后输出结果()A 3,4,5B 5,3,4C 5,4,3D 4,3,519 若有以下定义和语句# include <stdio.h>int a=4,b=3,*p,*q, *w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是()A *q=0B w=pC *p=a D*p=*w20 有以下程序int *f (int *x, int *y){if (*x<*y)return x;;elsereturn y;}main( ){int a=7,b=8,*p,*q,*r;p=&a ; q=&b;r=f (p, q);printf (“%d, %d, %d\n”,*p*q*r);}执行后输出结果是()A 7,8,8B 7,8,7C 8,7,7D 8,7,821 若有以下程序段int m=0xabc, n=0xabc;m - = n;printf (“%X\n”, m);执行后输出结果是()A 0X0B 0x0C 0D 0XABC22 有以下程序段int m=0,n=0;char c =’a’;scanf (“%d %c %d” ,&m ,&c ,&n);printf (“%d, %c, %d\n” , m , c, n);若从键盘上输入:10A10<回车>,则输出结果是()A10,A10 B10,a,10 C10,a,0 D10,A,023 空指针是指()A所指向的空间位置未存放任何数据的指针B所指向的空间位置存放着数据0的指针C所指向的空间位置可用于存放任何类型数据的指针D所指向的空间位置就是地址0的指针24 已知运行正常的程序中有这样两个语句:int p1,p2=&a;p1=b;由此可知,变量a和b的类型分别是()A int 和intB int*和intC int和int*D int*和int*25在下列表示引用的方法中,()是正确的。
关于C语言中的字符串数组输入输出控制符的若干问题示例一:
#include<stdio.h>
void main()
{
int i;
int a[6];
for(i=0;i<6;i++)
{
printf("please enter a number:\n" );
scanf("%d",&(a[i]));
}
printf("%d,%d,%d,%d,%d,%d",a[0],a[1],a[2],a[3],a[4],a[5]);
//printf("%d",a); 这是错误做法,没有输出若干个实数的控制符,只能一个个输出。
}
实例二:
#include<stdio.h>
void main()
{
int i;
char a[6];
for(i=0;i<6;i++)
{
printf("please enter a number:\n" );
scanf("%s",&(a[i])); //只可从键盘输入一个字符,否则输出将每次输入多余的部分丢弃。
//不可写成:scanf("%c",&(a[i]));
}
printf("%c%c%c%c%c%c",a[0],a[1],a[2],a[3],a[4],a[5]); //不可用%s%s%s%s%s%s
//也可以这样写:printf("%s",a);
}
示例三:
#include<stdio.h>
void main()
{
int i;
char a[6];
for(i=0;i<6;i++)
{
printf("please enter a number:\n" );
scanf("%c",&(a[i]));
getchar(); //如果用%c作为输入一个字符控制符用,后面必须加此句;
}
a[6] = '\0'; //如果用%c作为输入一个字符控制符用,后面必须加此句;
printf("%s",a);
}
总结:
(1)在c语言里有输入输出一个整型数据的控制符(%d,%i。
%o,%u,%x,%X),但是没有输入输出一串整型数据的控制符;
(2)在c语言里有输入输出一个字符的控制符(%c),也有输入输出字符串的控制符(%s)。
但是当%c在作输入一个字符的控制符时程序运行有误,只可用%s替代%c作为输入一个字符的控制符使用。
(3)也可以用%c作为输入一个字符的控制符用,但必须给上面程序另加两句getchar(); 和getchar(); 才可以。
结论:在输入不管是一个字符还是字符串时都用%s作为控制符。