最新压轴C程序设计基础练习1
《C程序设计基础》练习题
08.结构体与共用体
8-4、代码理解
enum weeks {MON, TUE, WED, THU, FRI, SAT, SUN}; enum weeks today; enum response {no, yes, none}; enum response answer; today = TUE; answer = yes; if (answer == yes)
问兔子究竟藏在哪个洞里?
05.函数
5-1、函数调用程序分析:
void hello_world(void){ printf("Hello, world!\n");
} void three_hellos(void){
int counter; for (counter = 1; counter <= 3; counter++)
04.数组
4-5、输入一个字符串,判断其是否为回文。回文 字符串是指从左到右读和从右到左读完全相同的字 符串。
4-6、逆序输出字符串(字符串的长度在50以内)。
04.数组
4-7(选作)、狐狸找兔子:围绕着山顶有10个圆 形排列的洞,狐狸要吃兔子,兔子说:“可以, 但必须先找到我,我就藏身于这十个洞中的某个 洞。你从1号洞找,下次隔1个洞(即3号洞)找, 第三次隔2个洞(即6号洞)找,再隔3个…以后 在这个圆圈中如此类推,次数不限。”但狐狸从 早到晚进进出出了1000次,仍没有找到兔子。
分配空间,然后把字符串str的内容复制到该空间,形成 新字符串,然后返回指向新字符串的指针,如果空间分配
失败则返回空指针)
08.结构体与共用体
8-1、用结构体变量记录学生信息:学号、姓名、 性别、住址。初始化一学生的信息,并打印之。
c编程练习题(打印版)
c编程练习题(打印版)C语言编程练习题一、基础练习1. 编写一个程序,计算并输出两个整数的和、差、乘积和商。
提示:使用scanf函数输入两个整数,使用算术运算符进行计算。
2. 编写一个程序,计算并输出一个圆的面积。
提示:圆的面积公式为A = π * r * r,其中 r 是圆的半径。
3. 编写一个程序,计算并输出一个矩形的周长和面积。
提示:矩形的周长公式为 P = 2 * (l + w),面积公式为 A = l * w,其中 l 是长度,w 是宽度。
4. 编写一个程序,判断一个整数是奇数还是偶数。
提示:使用模运算符 % 来判断。
二、控制结构练习1. 编写一个程序,根据用户输入的分数,输出对应的等级。
提示:90分以上为 A,80-89分为 B,70-79分为 C,60-69分为D,60分以下为 F。
2. 编写一个程序,实现简单的猜数字游戏。
提示:程序随机生成一个1到100之间的整数,用户输入猜测的数字,程序根据用户输入给出提示(太高、太低或正确)。
3. 编写一个程序,实现一个简单的计算器。
提示:程序提示用户输入运算符(+、-、*、/)和两个操作数,然后输出计算结果。
三、数组练习1. 编写一个程序,实现对一个整数数组的排序。
提示:可以使用冒泡排序、选择排序或插入排序算法。
2. 编写一个程序,找出一个字符串数组中最长的字符串。
提示:遍历字符串数组,比较每个字符串的长度。
3. 编写一个程序,实现字符串的反转。
提示:可以使用数组的索引特性来实现。
四、函数练习1. 编写一个函数,计算一个数的阶乘。
提示:使用递归或循环来实现。
2. 编写一个函数,实现字符串的复制。
提示:不使用库函数,手动复制字符串。
3. 编写一个函数,判断一个字符串是否为回文字符串。
提示:回文字符串是指正读和反读都一样的字符串。
五、指针练习1. 编写一个程序,使用指针交换两个整数的值。
提示:注意指针变量的赋值和解引用。
2. 编写一个程序,实现字符串的连接。
程序设计基础考试试题
程序设计基础考试试题一、选择题(每题2分,共20分)1. 下列哪个是C语言的关键字?A. intB. mainC. functionD. variable2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /3. 以下哪个选项是正确的C语言变量声明?A. int number = 5;B. var number = 5;C. number = 5;D. int number = 5;4. 在C语言中,哪个函数用于输出字符串?A. printf()B. cout()C. print()D. display()5. 以下哪个是C语言中数组的正确定义方式?A. int numbers[];B. int numbers = 10;C. int numbers[10] = {0};D. all of the above6. 以下哪个是C语言中的控制结构?A. if-elseB. switch-caseC. for-loopD. all of the above7. 在C语言中,哪个关键字用于定义函数?A. functionB. defC. methodD. void8. 以下哪个是C语言中正确的条件表达式?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if9. 在C语言中,哪个函数用于输入一个整数?A. scanf()B. input()C. get()D. read()10. 下列哪个选项是C语言中正确的函数调用方式?A. call function_name();B. function_name();C. run function_name;D. execute function_name();二、填空题(每空2分,共20分)11. 在C语言中,一个基本的程序结构包括____、____和____。
c语言程序与设计基础知识试题及答案
c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。
答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。
c编程练习题
c编程练习题C语言是一种广泛使用的计算机编程语言,以其高效性和灵活性而闻名。
为了帮助学习者更好地掌握C语言,以下是一些C编程练习题,它们覆盖了基础到中级的知识点。
# 基础练习题1. 数据类型转换编写一个程序,输入一个整数和一个浮点数,然后输出它们转换为字符型后的ASCII值。
2. 算术运算编写一个程序,接受两个整数作为输入,并计算它们的和、差、积、商以及余数。
3. 条件语句编写一个程序,根据用户输入的成绩(0-100),输出相应的等级(A-F)。
4. 循环结构使用for循环打印从1到100的所有整数,并找出3和5的公倍数。
5. 数组操作编写一个程序,接受用户输入的5个整数,存储到数组中,并找出最大值和最小值。
# 中级练习题1. 字符串处理编写一个程序,接受用户输入的字符串,然后反转该字符串并输出。
2. 函数定义与调用定义一个函数,计算两个数的最大公约数,并在主函数中调用它。
3. 指针应用编写一个程序,使用指针交换两个变量的值,并输出交换后的结果。
4. 结构体使用定义一个结构体来存储学生的信息(如学号、姓名、成绩),然后编写一个程序来输入和输出这些信息。
5. 文件操作编写一个程序,能够读取一个文本文件中的内容,并计算其中单词的数量。
# 进阶练习题1. 递归函数编写一个递归函数来计算阶乘,并在主函数中调用它。
2. 动态内存分配使用malloc或calloc动态分配内存,并编写一个程序来复制一个数组的内容到另一个数组。
3. 链表操作实现一个简单的链表,并提供插入、删除和遍历链表的函数。
4. 排序算法实现冒泡排序、选择排序或插入排序算法,并编写一个程序来对用户输入的一系列数字进行排序。
5. 二叉树遍历定义一个二叉树的结构,并实现前序、中序和后序遍历。
# 实践项目1. 简单计算器实现一个基本的计算器,能够进行加、减、乘、除等基本运算。
2. 图书管理系统设计一个简单的图书管理系统,能够添加、删除、查找和列出图书。
程序设计基础(C)练习题
第一章数据类型与表达式一.知识点1.C语言的特点:①语言简洁、紧凑,使用方便、灵活;②运算符丰富;③数据结构丰富;④具有结构化控制语句;⑤语法限制不太严格,程序设计自由度大;⑥可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作;⑦生成的目标代码质量高,程序执行效率高;⑧程序的移植性好。
2.C程序的组成:⑴C程序是由函数构成的;⑵一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分);⑶函数体一般包括声明部分和执行部分;⑷一个C程序总是从main函数开始执行,从main函数结束;⑸C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上;⑹每个语句和数据定义的最后必须有一个分号;⑺C语言本身没有输入输出语句,是通过函数实现输入输出的;⑻可以用/*……*/对C程序的任何部分作注释。
3.C语言程序的运行:源程序文件的扩展名为.c或.cpp,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。
4.C的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。
5.常量与变量的概念,注意符号常量的定义与使用;6.整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。
7.变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。
8.常见数据类型的取值范围,int为-32768~+32767,unsigned int为0~65535。
9.转义字符:\n、\t、\b、\r、\f、\\、\’、\”、\ddd、\xhh10.不同数值型数据的混合运算,低级类型转换为高级类型运算11.C的运算符:注意结合方向和运算的优先级12.算术运算符:+、-、*、/、%、++、--,注意自加、减运算符分前缀和后缀两种方式。
程序设计基础练习题全部有答案版
int a=1,b=2;
5.
printf(
14.0
%4.1f\n
B、31.5
,S(a+b)); 3.5*a+b*a+b
C、
7.5
D、10.5
F面程序运行后输出的结果
#i nclude"stdio.h"
#defi ne MIN(x,y) (x)<(y)?(x):(y)
mai n()
int a,b,c;
逻辑表达式
任意表达式
以下程序的输出是(D)
mai n()
{int i,j,k,a=3,b=2;
j=a++;k=b;
执行下面的程序:
mai n() {int x;
sea nf("%d", &x);
if (x++>5) prin tf("%d\n", x);
else prin tf("%d\n", -x);
prin tf("%d",k),k--;
prin tf("k=%d\n",k);
prin tf("\n");
}
A0B、1C、2D、-2
8.下面程序的输出为(B)
#in clude<stdio.h> mai n()
{int i,j,x=0;
for(i=0;i<2;i++)
数组中的所有元素赋值,则在下划线处应填入的是(
C、被包含的檔不一定以.h作为后缀
D、在以下定义中C R是称为“宏名”的标识符
#define fc4566CR
《C语言程序设计基础》习题集(含答案)
《C语言程序设计基础》习题集(含答案)《C语言程序设计基础》习题集(含答案)C语言是一门广泛应用于计算机科学领域的高级编程语言。
对于初学者而言,通过习题集的形式来学习C语言程序设计基础是一种有效的方法。
本文将为大家介绍一份包含答案的C语言程序设计习题集,通过解答这些习题,读者能够提升自己的C语言编程能力。
1. 数据类型与变量(1) 编写一个程序,要求输入一个字符,然后输出其ASCII码和对应的字符。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);printf("字符 %c 的ASCII码是:%d\n", ch, ch);return 0;}```(2) 编写一个程序,输入长方形的长度和宽度,计算并输出长方形的面积和周长。
```c#include <stdio.h>int main() {int length, width;printf("请输入长方形的长度:");scanf("%d", &length);printf("请输入长方形的宽度:");scanf("%d", &width);int area = length * width;int perimeter = 2 * (length + width);printf("长方形的面积为:%d\n", area);printf("长方形的周长为:%d\n", perimeter);return 0;}```2. 控制结构(1) 编写一个程序,判断输入的一个整数是否为奇数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d 是偶数。
程序设计基础试题及答案
程序设计基础试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中正确的整型常量表示?A. 0x1AB. 0x1aC. 0X1AD. 0x1A和0x1a答案:D2. 在C语言中,下列哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B3. 以下哪个选项是合法的C语言变量名?A. 2variableB. variable2C. _variableD. variable$2答案:B4. 在C语言中,下列哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!'答案:A5. 下列哪个选项是C语言中正确的注释方式?A. // This is a commentB. /* This is a comment */C. <!-- This is a comment -->D. Both A and B答案:D二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float 或 double3. C语言中,用于定义一个字符型变量的关键字是________。
答案:char4. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(C99标准)5. 在C语言中,用于定义一个数组的语法是________。
答案:类型数组名[大小]三、简答题(每题5分,共20分)1. 简述C语言中函数的定义和调用过程。
答案:函数定义包括返回类型、函数名、参数列表和函数体。
调用函数时,需要使用函数名和相应的参数列表。
程序设计基础习题及参考答案
程序设计基础习题及参考答案习题及参考答案1 单项选择题:(1)下列哪个符号是合法的变量名? ( )A .VB123B .AbsC .99JiD .x\y 答案:选择A 。
其他的:Abs 是Visual Basic 的关键字,99Ji 以数字开头,x\y 使用了整除运算符”\”,都是非法的。
(2)Visual Basic 中的数据也可以以十六进制或八进制表示,十六进制数据以()符号开头,八进制数据以()符号开头。
A.$EB.$HC.&OD.&H 答案:D C(3)如果X 是一个正实数,对X 的第三位小数四舍五入的表达式是( )A .0.01*Int(x+0.005) B. 0.01*Int(100*(x+0.005)) C.0.01*Int(100*(x+0.05)) D. 0.01*Int(x+0.05) 答案:选择B 。
x 是一个正实数,要保留n 位小数,第n+1位四舍五入的数字公式是: Int(x*10n+0.5)/10n因此,本题应该选择B 。
(4)数学式子10sin25°写成Visual Basic 表达式是 ( )A .10Sin25B .10* Sin(25)C .10*Sin(25°)D .10*Sin(25*3.14/180) 答案:选择D 。
其他的选项:A 、C 属于语法错误,B 中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*180/ 。
(5)下列哪组语句可以将变量A 、B 的值互换? ( )A .A=B:B=A B. A=A+B:B=A-B:A=A-B C. A=C:C=B:B=A D. A=(A+B)/2:B=(A-B)/2 答案:选择B 。
应该对每个选项内的赋值语句进行分析,判断其运行结果。
下面仅对B 选项的三条语句的作用分析如下:◆ A=A+B ‘将变量A 和变量B 相加后赋给变量A ,此时A 中存放的是和数◆ B=A-B ‘由于A 中存放的是和数,A-B 的值就是原先A 中的值,赋给变量B ,B 的值就是原先A 中的值◆ A=A-B ‘由于A 中存放的是和数,B 的值就是原先A 中的值,A-B 的值就是原先B中的值,赋给变量A ,A 的值就是原先B 中的值。
《C程序设计基础》模拟考试题(含答案)
《C程序设计基础》模拟考试题一、选择题(每题2分。
共23道选择题)1、关于C程序的叙述,错误的说法是(B)A、C程序总是从主函数开始执行B、C程序中定义的第一个函数是主函数C、在主函数中可以调用其他函数D、一个C程序可以包括多个函数2、C语言的基本数据类型包括(A)A、charB、s tructC、s tringD、typedef3、C语言的关键字是(A)A、whileB、p rintfC、m ainD、FILE4、错误的C标识符是(D)A、e2B、n ame_C、A_BD、2e5、在下列运算中,优先级最低的运算符是(B)A、= =B、=C、&&D、+6、设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c + 6 - 14%c的值是(B)A、6B、7C、8D、97、下列一维数组说明中,错误的是(C)A、int a[]={1,2,3};B、int a[5];C、int n=5, a[n];D、int a[5]={1,2,3};8、执行语句:printf(“a\nb”)输出的结果是(C)A、a\nbB、abC、第一行输出a,第二行输出bD、不能输出9、要表示年龄(age)在18到25之间,正确的表达式是(B)A、18<=age<=25B、18<=age && age<=25C、18<=age || age<=25D、18<=age and age<=2510、设有定义int a,*p;下列赋值语句中,正确的是(B)A、p=a;B、p=&a;C、p=*a;D、*p=&a;11、若已经定义char a[10]={“abcd”}, *p=a;则表达式*(p+1)的值是(C)A、abcdB、bcdC、bD、语法错误12、若已经定义struct stu{int a,b; } student; ,则下列叙述中正确的是(B)A、stu 是结构变量B、student 是结构变量C、student 是结构类型D、a和b是结构型变量13、设有定义int a[10], *p=a; 下列对数组元素a[1]的引用中,错误的是(B)A、p[1]B、*(++a)C、*(++ p)D、*(a+1)14、下列叙述中,错误的是(D)A、不同函数中可以使用相同的变量名B、全局变量和局部变量可以同名C、形式参数是局部变量D、main() 函数中定义的变量在整个程序中都可15、设有函数定义:void p(int x){printf(“%d”, x);} 则正确的函数调用是(A)A、p(3);B、a=p(3);C、printf("%d"; p(3));D、p(int x);16、有如下程序段union u{int a; int b; float c;}vu; vu.a=1; vu.b=2; vu.c=3;则vu.a的值是(D)A、1B、2C、3D、以上都不对17、设有如下定义:int x=2 ,y; int fun(int *a){return *a+1;}下列函数调用中,实际参数正确的是(B)A、y=fun(x);B、y= fun (&x);C、y=fun(*x);D、y=fun(a);18、设有宏定义#define N 3+2,则语句printf(“%d”, N*N);的输出结果为(A)A、11B、25C、10D、3;519、执行scanf(“%d+%d”,&a,&b);时,正确的键盘输入是(C)A、3,5B、3 5C、3+5D、3;520、执行if(a<=b){a=b;b=a;}else{a++;++b;}语句后,正确的说法是(C)A、当条件满足时变量a和b的值对换B、当条件满足时变量a和b的值不变C、当条件不满足时变量a和b的值各增加1D、当条件不满足时变量b的值增加1,a不增加21、设已定义int a=3, b=4; 执行if(a=b)printf(“aaa\n”);else printf(“bbb\n”);语句后,正确的说法是(A)A、输出aaaB、输出bbbC、编译时会出错D、运行时会出错22、设有说明语句int x=1, y=2; 则执行表达式x=y= = 3后,变量x的值是(A)A、0B、1C、2D、323、已定义float f=1.2;执行语句printf(“%d\n”,f);正确的说法是(D)A、输出 1.2B、输出 1C、语法错误D、可以输出,但不是1.2和1二、阅读题。
C程序设计练习
C程序设计练习第一点:C程序设计的基本概念C程序设计是一种基础的计算机编程语言,广泛应用于操作系统、嵌入式系统、硬件开发等领域。
掌握C程序设计,是每一个计算机相关专业学生必须具备的基本技能。
C程序设计的基本概念包括:变量、数据类型、运算符、控制结构、函数等。
变量是存储数据的基本单元,数据类型决定了变量的存储方式和取值范围,运算符用于对数据进行各种操作,控制结构用于控制程序的执行流程,函数是完成特定任务的代码块。
在C程序设计中,每一个程序都是由一个或多个函数组成的,函数是C程序的核心。
函数包括主函数(main函数)和用户自定义函数。
主函数是程序的入口,负责调用其他函数完成特定任务。
用户自定义函数是根据需要编写的,用于完成特定功能的函数。
C程序的基本语法规则包括:关键字、标识符、常量、注释等。
关键字是C语言预定义的,具有特定意义的单词,不能作为标识符使用。
标识符是用户自定义的,用于表示变量、函数等名称。
常量是程序中不可改变的数值,包括整型常量、浮点常量、字符常量等。
注释是为了增加程序的可读性,对程序进行说明的部分,不会被计算机执行。
第二点:C程序设计的编程技巧C程序设计的编程技巧包括:算法设计、代码优化、编程规范等。
算法设计是解决问题的关键,需要清晰地描述解决问题的步骤。
代码优化是为了提高程序的执行效率,需要合理地选择数据结构、算法等。
编程规范是为了增加程序的可读性和维护性,需要遵循一定的编程风格和规则。
在C程序设计中,常用的算法设计方法包括:顺序结构、选择结构、循环结构等。
顺序结构是按照指定的顺序执行各个步骤,选择结构是根据条件选择执行的路径,循环结构是根据条件重复执行某个步骤。
在C程序设计中,代码优化是一个重要的环节。
优化目标包括:提高程序的执行效率、减少程序的内存占用、提高程序的可读性等。
优化方法包括:算法优化、数据结构优化、代码优化等。
在C程序设计中,编程规范是一个重要的方面。
编程规范包括:命名规范、注释规范、代码格式规范等。
c程序设计题库及答案
c程序设计题库及答案C程序设计是一门基础而重要的计算机编程语言课程,它广泛应用于系统编程、嵌入式开发等领域。
下面是一个C程序设计的题库及答案示例:# 题目1:计算圆的面积问题描述:编写一个C程序,输入圆的半径,计算并输出圆的面积。
答案:```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2f\n", area);return 0;}```# 题目2:判断闰年问题描述:编写一个C程序,输入一个年份,判断并输出该年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d 是闰年。
\n", year);} else {printf("%d 不是闰年。
\n", year);}return 0;}```# 题目3:字符串反转问题描述:编写一个C程序,输入一个字符串,然后输出该字符串的反转结果。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格 int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {putchar(str[i]);}printf("\n");return 0;}```# 题目4:查找数组中的最大值问题描述:编写一个C程序,输入一个整数数组,找出并输出数组中的最大值。
C语言程序设计基本练习题
C语言基本概念能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序B) 编译程序C) 解释程序D) 链接程序以下选项中合法的用户标识符是______。
A) long B) _2Test C) 3Dmax D) A.dat以下叙述正确的是()A) 可以把define和if定义为用户标识符B) 可以把define定义为用户标识符,但不能把if定义为用户标识符C) 可以把if定义为用户标识符,但不能把define定义为用户标识符D) define和if都不能定义为用户标识符以下叙述正确的是()A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点在一个C语言程序中_______A) main函数必须出现在所有函数之前B) main函数必须出现在所有函数之后C) main函数可以在任何地方出现D) main函数必须出现在固定位置一个C语言程序是由_______组成的。
A) 一个主程序和若干子程序B) 若干子程序C) 函数D) 若干过程以下叙述中正确的是()A) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译下列关于C语言用户标识符的叙述中正确的是()A) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头B) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头C) 用户标识符中不可以出现中划线,但可以出现下划线D) 用户标识符中可以出现下划线和中划线(减号)以下说法中正确的是()A)C语言程序总是从第一个定义的函数开始执行B)C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分一个C程序的执行是从()A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束C语言编程整个操作的过程是()A)编辑、编译、链接、执行B)编译、编辑、链接、执行C)链接、编译、编辑、执行D)编辑、链接、编译、执行下列说法不正确的是()A)链接操作将生成扩展名为.lnk的文件B)编辑过程将生成扩展名为.cpp或.c的文件C)编译过程将生成扩展名为.obj的文件C)C编程最终要生成扩展名为.exe的文件C语言提供了丰富的结构化语句,直接支持____、_____和_______三种基本程序结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习1一、单项选择题(共20题,每题1分,共20分,答案填写在单项选择题答题表中)1.以下并非C语言的特点的是____________。
A)C语言简洁紧凑B)能够编写出功能复杂的程序C)C语言可以直接对硬件进行操作D)C语言移植性好2.在C程序中,main()的位置____________。
A)必须作为第一个函数B)必须作为最后一个函数C)可以任意D)必须放在它所调用的函数之后3.以下选项中正确的定义语句是____________。
A)int a; b;B)long a=b=7;C)short a=7, b=7;D)float, a, b;4.下列不是C语言关键字的是___________。
A)autoB)externC)thisD)signed5.以下字符串为标识符的是____________。
A)_MYB)2_2222C)shortD)LINE 56.以下关于typedef的叙述不正确的是____________。
A)用typedef可以定义各种类型名,但不能用来定义变量B)用typedef可以增加新类型C)用typedef只是将已存在的类型用一个新的名字来代表D)使用typedef便于程序的调用7.以下说法正确的是____________。
A)输入项可以为一个实型常量,如scanf("%f", 3.5)B)只有格式控制没有输入项也能进行正确输入,如scanf("%d")C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f", &f)D)当输入数据时,必须指定变量的地址,如scanf("%f", &f)8.若a,b,c均定义为长整型,要给它们输入数据,正确的输入语句是____________。
A)read(a, b, c);B)scanf("%ld%ld%ld", &a, &b, &c);C)scanf("%f%f%f", a, b, c);D)scanf(%d%d%d", &a, &b, &c);9.若有if (w) x++; else ++y; 则其中与w 等价的表达式是____________。
A)w == lB)w == 0C)w != lD)w != 010.switch后面的表达式之值____________。
A)只能是0或1B)只能是正整数或负整数C)只能是整型数据(包括整数,字符型和枚举类型)D)可以是任何类型的数据11.选择出合法的if语句(设int x, a, b, c;)____________。
A)if(a == b) x = 1;B)if (a =< b) x /= 2;C)if(a <> b) x *= 3;D)if (a=>b) x++;12.若变量已正确定义为int 型,要通过语句scanf("%d;%d;%d", &a, &b, &c);给a赋值10、给b 赋值20、给c 赋值30,以下输入形式中正确的是(凵代表一个空格符)()。
A)凵凵凵1,2,3<回车>B)4凵5凵6<回车>C)10; 凵凵凵20; 凵凵凵30;<回车>D)10,20,30<回车>13.C语言中while和do-while循环的主要区别是____________。
A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格1C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句14.若有int a[] = {1,2,3,4,5}和int b[10] = {6, 7, 8, 9. 10};则数组a和b的元素个数分别为。
A)5和10B)都是5C)10和5D)a的元素个数未知,b的元素个数为515.在一个源文件中定义的外部变量的作用域为____________。
A)本文件的全部范围B)本程序的全部范围C)本函数的全部范围D)从定义该变量的位置开始至文件结束16.字符串"HelloWorld"和字符串""的长度分别是__________。
A)11和1B)11和0C)10和0D)10和117.在C语言程序中,下列叙述正确的是____________。
A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和调用都可以嵌套D)函数的定义和调用均不可以嵌套18.在定义int a[3][6];后,第10个元素是____________。
A)a[2][4]B)a[1][3]C)a[3][1]D)a[4][2]19.在定义一个结构体变量时系统分配给它的存储空间是____________。
A)该结构体变量中第一个成员所需存储空间B)该结构体变量中最后一个成员所需存储空间C)该结构体变量中占用最大存储空间的成员所需存储空间D)以上说法都不正确20.已知int型数组a,以下定义并初始化int型指针变量p的语句中错误的是____________。
A)int *p = a;B)int *p = &a[0];C)int *p = a + 1;D)int *p = &a;二、填空题(共15空,每空1分,共15分)1.C语言中的类型转换分为自动类型转换和___________________两种。
2.C程序的入口点是______________函数3.表达式9 / 5 + 4的值是____________。
表达式9.0/5 + 4的值是____________。
4.判断整型变量n能整除k的逻辑表达式是____________。
5.算术运算符的优先级______________关系运算符的优先级,逻辑运算符的优先级___________________关系运算符的优先级。
(填高于或低于)6.C语言中字符串以________________________结束。
7.定义静态变量的关键字是____________,无返回值的函数使用关键字______________声明返回类型。
8.已有int a[10] = {12, 34, 56, 78, 90},则a[1] 的值是__________________。
a[9] =的值是__________________。
9.若有int a[10], *p = &a[2],则p + 3指向数组的第_______个元素。
10.若要调用库函数sqrt计算平方根,应该包含的头文件是_____________。
11.计算字符串长度的C库函数是____________。
三、程序分析题(共5题,每题5分,共25分)1.写出以下程序的运行结果(假定程序已包含正确的头文件)。
void main() {int k = 2, m = 100;switch(k) {case 2:m += 200;break;case 3:m += 300;break;}2printf("%d\n", m);}2.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {int n = 64, k = 0;while (n != 1){n = n / 2;k = k + 1;}printf("%d\n", k);}3.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {char str[] = "HelloC";printf("%c%c\n", str[0], str[5]);}4.写出以下程序的运行结果(假定程序已包含正确的头文件)。
main() {int b = 34; *pb = &b;b += 56printf("%d\n", *pb);}5.写出以下程序的运行结果(假定程序已包含正确的头文件)。
void fun(int a, int *p) {a = 100;*p = 200;}main() {int m = 10, n = 20;fun(m, &n);printf("m=%d,n=%d\n", m, n);}四、程序填空题(共10空,每空2分,共20分)1.下面的函数fun计算数组a的各元素的和,请填空。
int fun(int a[], int n) { /* n为数组元素个数*/int sum, i;sum = ___________________;for (i = 0; _________________; i++)sum = ____________________;return _______________;}void main() {int s, b[] = {1, 2, 3, 4, 5};s = fun(_____________ , 5); /* 调用fun函数*/printf("sum = %d\n", s); }2.下面的程序中统计字符串中的数字字符和非数字字符的个数,请填空#include <string.h>#include <stdio.h>#include <ctype.h>void main() {char line[80]int i, digits, non_digits;digits = non_digits = ___________________;__________________; /* 读取一行字符到字符数组line中*/for (i = 0; _________________________; i++)if (isdigit(line[i]))3________________;else________________;printf("Count of digits: %d\nCount of non-digits: %d\n", digits, non_digits);}五、程序设计题(共2小题,共20分)1.编写一个函数计算n!;然后编写main函数调用该函数计算5!。
(本题8分)4练习1参考答案单项选择题答题表一、单项选择题(共20题,每题1分,共20分,答案填写在单项选择题答题表中)1 2 3 4 5 6 7 8 9 10B C C C A B D B D C11 12 13 14 15 16 17 18 19 20A C A A D CB B D D二、填空题(共15空,每空1分,共15分)1.强制类型转换2.main3.5、5.84.n % k == 05.高于、低于6.空字符或'\0'7.static、void8.34、09. 610.math.h11.strlen三、程序分析题(共5题,每题5分,共25分)1.运行结果:3002.运行结果:63.运行结果:HC4.运行结果:905.运行结果:m=10,n=200四、程序填空题(共10空,每空2分,共20分)1.(1) 0(2) i < n(3) sum + a[i](4) sum(5) b2.(1) 0(2) gets(line)(3) line[i] != '\0'(4) digits++(5) non_digits++五、程序设计题(共2小题,共20分)1.int fact(int n) {int i; f = 1;for (i = 1; i <=n; i++) f *= n;return f;}void main() {printf("5! = %d\n", fact(5));}评分标准:函数定义(4分)main函数及函数调用(4分)1。