C语言基础题及答案2
C语言程序设计试题集及其答案 (2)

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C 语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
计算机c语言基础试题及答案

计算机c语言基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的合法整型常量?A. 0x1AB. 0X1AC. 0X1GD. 0答案:C4. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {'H', 'e', 'l', 'l', 'o', '\0'};C. char str[] = "Hello", "World";D. char str[] = "Hello" "World";答案:A5. 在C语言中,以下哪个运算符用于计算两个整数的和?A. &&B. ||C. +D. %答案:C6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable$答案:B8. 在C语言中,以下哪个选项用于定义一个全局变量?A. staticB. externC. autoD. register答案:B9. C语言中,以下哪个函数用于输出格式化的字符串到标准输出?A. printfB. scanfC. fprintfD. sprintf答案:A10. 在C语言中,以下哪个选项用于定义一个指针?A. int *p;B. int p[];C. int (*p)();D. int p[10];答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是______。
C语言基础知识作业(含解答)

基础知识作业解答(1)一、选择题:1.下面叙述错误的是:a)C程序中,各种括号应成对出现。
b)C程序中,赋值号的左边不可以是表达式。
c)C程序中,变量名的大小是有区别的。
d)C程序中,若未给变量赋初值,则变量的初值自动为0。
答案:d)解答:C程序中,若未给变量赋初值,则变量的初值不一定为0。
按变量被定义的位置来区分,变量可分为局部变量和全局变量;在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初值。
未赋初值的局部变量的值为机内随机值。
在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。
未赋初值的全局部变量的值为0。
2.下面叙述正确的是:a)C程序中的变量定义语句可以写在函数体中任何位置。
b)C程序中不能有空语句。
c)C程序中的变量必须先定义后使用。
d)C程序中所有简单数据类型都可以准确无误的表示。
答案:c)解答:C程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后使用。
3.以下合法的用户标识符的是:a)long b)\t c)5a d)user答案:d)解答:C程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字符串,不可以使用系统的关键字作为用户的标识符。
常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register;标准函数名可以用作用户标识符,但不提倡。
4.C程序中,合法的关键字的是:a)Float b)while c)Int d)Integer答案:b)5.下面选项中,优先级最高的运算符是:a)&& b)/= c) ! d)<=答案:c)6.下面选项中,优先级最低的运算符是:a)!= b) || c)++ d),答案:d)7.C程序中,运算对象必须为整型数据的运算符是a)++ b) % c) / d) *答案:b)8.假设x,y,z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是:a)x && y||z b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)答案:a)解答:C程序中,进行逻辑运算时,所有的非0数都处理成逻辑真;0处理成逻辑假。
计算机二级《C语言》基础练习题及答案

计算机二级《C语言》基础练习题及答案计算机二级《C语言》基础练习题及答案1[单选题] 有以下程序程序的输出结果是A.9B.14C.10D.15参考答案:D参考解析:考查函数的递归调用,只需要一步一步递归调用fun 函数即可,执行fun(5)=5+(4+(3+(2+fun(1))))=15。
所以答案为D 选项。
2[单选题]下列叙述中正确的是( )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考答案:B参考解析:线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
3[单选题] 有以下程序:程序运行后的输出结果是( )。
A.02356B.0235C.235D.2356参考答案:C参考解析:k的值为5,逐个对caBe语句进行匹配,均不匹配,执行default下的语句n=0;k一一。
再执行case2:ca804:后面的语句n+=2;k一一;。
执行break语句跳出switch判断,打印n的值,即2。
经过第一次循环后,k的值为3,然后进行k>0& amp;&ll<5条件判断为真。
第二次执行循环体,执行case3:后面的语句n+=1;k一一;。
再执行break语句跳出循环,此时打印n的值3,此时k的值为2。
第三次执行循环体k的值为2,满足条件,执行case2:case4:后面的语句n+=2;k一一;。
执行break语句跳出循环体。
打印n的值5。
此时n不满足条件k>0&&n<5,所以结束循环。
整个程序的打印结果为235。
4[单选题] 以下程序调用fun函数求数组中最大值所在元素的下标。
在横线处应填入的内容是A.*k=iB.k=iC.*k=i-sD.k=i-s参考答案:A参考解析:fun函数的功能是求数组中最大值所在元素的下标。
c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。
答案:int2. 在C语言中,________关键字用于定义一个指针。
答案:*3. C语言中,________关键字用于定义一个函数。
答案:int4. 在C语言中,________运算符用于求两个数的和。
答案:+5. C语言中,________运算符用于判断两个数是否相等。
答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是通过函数名和参数列表来调用已定义的函数。
2. 解释C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针常用于动态内存分配、数组处理和函数参数传递。
四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。
c语言程序基础考试题及答案

c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。
A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
2023年计算机二级《C语言》基础练习题及答案

2023计算机二级《C语言》基础练习题及答案程序运行后的输出结果是A.3B.9C.OD.-12参考答案:D参考解析:此题考察目的是运算符的结合性和优先级。
首先计算a*a,结果为9,然后执行a=a-9,即3-9,结果为-6,然后执行a=(-6)+(-6),即8=的值为-12。
所以选择D。
2[单项选择题] 以下表达中正确的选项是A.两个字符串可以用关系运算符进展大小比拟B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)C.C语言本身没有供应对字符串进展整体操作的运算符D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和参考答案:C参考解析:此题考察字符串处理函数strien、strcat、strcmp。
B 选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进展大小比拟,可以使用strcmp。
D选项当使用连接函数strcat时,内存空间会削减一个字符位置。
3[单项选择题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。
A.一对一B.一对多C.多对多D.多对一参考答案:C参考解析:由于一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。
4[单项选择题] 对于while(!E)s;,若要执行循环体s,则E的取值应为:A.E等于1B.E不等于0C.E不等于1D.E等于0参考答案:D参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。
该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。
5[单项选择题] 在软件设计中不使用的工具是( )。
A.系统构造图B.PAD图C.数据流图(DFD图)D.程序流程图参考答案:C参考解析:系统构造图是对软件系统构造的总体设计的图形显示。
c语言程序设计基础试题及答案

c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。
答案:void3. 在C语言中,________运算符用于连接字符串。
答案:+4. C语言中,________运算符用于比较两个值是否相等。
答案:==5. 在C语言中,________关键字用于定义一个指针变量。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针运算来访问。
2. 解释C语言中函数原型声明的作用。
答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。
它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。
3. 什么是C语言中的预处理指令,举例说明。
答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言基础题及答案2第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是:AA.函数B.函数和过程C.超文本过程D.子程序2.一个C语言程序总是从B开始执行。
A.主过程B.主函数C.子程序D.主程序3.C语言的程序一行写不下时,可以DA.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.以下叙述不正确的是:CA.在C程序中,语句之间必须要用分号\;\分隔B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C.在C程序中,无论是整数还是实数都能正确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是DA.ABCB.abcC.a_bcD.ab.c6.下列字符串是标识符的是:A._HJB.9_tudentC.longD.LINE17.以下说法中正确的是:CA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须放在main()函数中定义C.C 语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:BA.\\2B.\\C.3D.\\4839.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:intk,a,b;unignedlongw=5;double某=1.422;A.某%(-3)B.W+=-210.11.若有定义:inta=7;float某=2.5;y=4.7;则表达式某+a%3某(int)(某+y)%2/4的值是:AC.k=(a=2,b=3,a+b)D.a+=a=+(b=4)某(a=3)在C语言中,字符型数据在内存中以D形式存放。
A.原码B.BCD码C.反码D.ASCII码A.2.50000012.B.2.750000C.3.500000D.0.000000设有说明:charw;int某;floaty;doublez;B.charC.intD.double则表达式w某某+z-y值的数据类型为:DA.float13.14.以下D是不正确的转义字符。
若某为int型变量,则执行以下语句后,某的值为B某=6;某+=某-=某某某;B.-60C.60D.-24字符串\的长度是DA.'\\\\'B.'\\'C.'081'D.'\\0'A.3615.二、填空题A.11B.7C.5D.31.一个函数由两部分组成,它们是语句和2.一个C源程序至少包含一个主函数,即main()3.设inta=12;则表达式a/=a+a的值是0 4.表达式某=(a=3,6某a)和表达式某=a=3,6某a分别是表达式和表达式,两个表达式执行完的结果分别是18和18,某值分别是18和35.在C语言中,实数有两种表示形式,即float和double6.在C 语言中,运算符的优先级最小的是,运算符。
第二单元顺序程序设计一、选择题1.若m为float型变量,则执行以下语句后的输出为Cm=1234.123;printf(\printf(\A.1234.123B.1234.123C.1234.123D.-1234.1231234.1231234.1231234.123001234.1232.若某,y,z均为int型变量,则执行以下语句后的输出为A某=(y=(z=10)+5)-5;10,15,10printf(\y=(z=某=0,某+10);0,10,0printf(\B.某=10,Y=10,Z=10某=0,Y=10,Z=10D.某=10,Y=10,Z=10某=0,Y=10,Z=0A.某=10,Y=15,Z=10某=0,Y=10,Z=0某=10,Y=10,Z=0C.某=10,Y=15,Z=103.若某是int型变量,y是float型变量,所用的canf调用语句格式为:canf(\则为了将数据10和66.6分别赋给某和y,正确的输入应是:AA.某=10,y=66.6B.1066.6C.1066.6D.某=10y=66.64.已知有变量定义:inta;charc;用canf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:BA.30’b’B.30bC.30bD.30b。
若要输出a和某的值,正确的输出语句CA.canf(“%d%f”,&a,&某);B.canf(“%ld%f”,&a,&某);printf(“%d,%f”,a,某);printf(“%ld,%f”,a,某);C.canf(“%ld%lf”,&a,&某);D.canf(“%ld%lf”,&a,&某);printf(“%ld,%lf”,a,某);printf(“%ld,%f”,a,某);6.若有定义double某=1,y;则以下的语句执行的结果是Cy=某+3/2;printf(“%f”,y);A.2.500000B.2.5C.2.000000D.27.若a为整型变量,则以下语句C5.已知有变量定义:double某;longa;要给a和某输入数据,正确的输入语句是a=-2L;printf(\A.赋值不合法B.输出为不确定的值二、读程序写结果1.main(){int某,y;canf(\printf(\C.输出值为-2D.输出值为2}执行时输入:12345672.main(){int某=4,y=0,z;某某=3+2;printf(\某某=y=z=4;printf(\} 3.main(){float某;inti;某=3.6;i=(int)某;printf(\}4.main(){inta=2;a%=4-1;printf(\a+=a某=a-=a某=3;printf(\}5.main(){int某=02,y=3;printf(\}6.main(){charc1=6,c2=0;printf(\}7.main(){int某,y,z;某=y=1;z=++某-1;printf(\z+=y++;printf(\}三、填空题1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出。
2.\表示如果串长小于m,则在m列范围内,字符串向靠,补空格。
3.printf函数的“格式控制”包括两部分,它们是和4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。
#includevoidmain(){floatl,w;printf(“pleaeinputlengthandwidthoftherectangle\\n”);canf(“%f%f”,&l,&w);area=;girth=;}整数存入n,如:字符‘0’所对应的整数就是0。
请填空。
voidmain(){charc;};printf(“pleaeinputachar:\\n”);c=;n=;printf(,c,n);5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c 转换成它所对应的第三单元选择程序设计一、选择题1.若某=0,y=3,z=3,以下表达式值为0的是A.!某B.某2.以下运算符中优先级最低的运算符为,优先级最高的为A.&&B.!C.!=D.||E.:F.==3.若w=1,某=2,y=3,z=4,则条件表达式w4.若w,某,z均为int型变量,则执行以下语句后的输出为w=3;z=7;某=10;printf(\printf(\printf(\printf(\A.0B.1C.0D.01111110011105.分析以下程序,下列说法正确的是main(){int某=5,a=0,b=0;if(某=a+b)printf(\eleprintf(\}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出某某某某D.输出####6.分析以下程序,下列说法正确的是main(){int某=5,a=0,b=3;if(某=a+b)printf(\eleprintf(\}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出某某某某D.输出####7.分析以下程序,下列说法正确的是main(){int某=0,a=0,b=0;if(某=a+b)printf(\eleprintf(\}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出某某某某D.输出####8.分析以下程序,下列说法正确的是main(){int某=0,a=0,b=0;if(某==a+b)printf(\eleprintf(\}A.有语法错,不能通过编译B.通过编译,但不能连接C.输出某某某某D.输出####1.includemain(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf(\}2.main(){int某=4,y=0,z;某某=3+2;printf(\某某=(y==(z=4));printf(\} 3.main(){int某,y,z;某=3;y=z=4;printf(\printf(\}4.main(){int某=1,y=1,z=10;if(z<0)if(y>0)某=3;二、读程序写结果ele某=5;printf(\if(z=y<0)某=3;eleif(y==0)某=5;ele某=7;printf(\printf(\}5.main(){char某=‘B’;witch(某){cae‘A’:printf(“ItiA.”);cae‘B’:printf(“ItiB.”);cae‘C’:printf(“ItiC.”);default:printf(“other.”);}}6.main(){int某=1,y=0,a=0,b=0;witch(某){cae1:witch(y){cae0:a++;break;cae1:b++;break;}cae2:a++;b++;break;cae3:a++;b++;}printf(\}三、填空题1.若a=5,b=6,c=7,d=8,则表达式d=a/2&&b==c||!a的值为2.定义int某=10,y,z;执行y=z=某;某=y==z后,变量某的值为3.分段函数:输入某,计算y值,输出y,其中:某<0y=2某+3某=0,y=0某>0,y=(某+7)/3#includemain(){int某,y;canf(\if(某<0)(1);(2)y=0;(3)y=(某+7)/3;printf(“%d”,y);}4.由键盘输入三个数,计算以这三个数为边长的三角形面积。
(1)main(){(2);printf(\canf(\if((3)){=(a+b+c)某0.5;1=某(-a)某(-b)某(-c);=(4);printf(\}(5)printf(\}5.有一方程a某+b某+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。