c语言作业题一答案
C语言练习作业及参考答案

二、选择题
1、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为____A___。
A) char<int<long int<=float<double
B) char=int <long int<=float<double
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
7、以下叙述不正确的是___D_____。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
longd=32768;
float e=4.56;
b=a;
a=c=d;
printf("%d,%u,%u,%ld\n",a,b,c,d);
a=e;
printf("%d,%f\n",a,e);
ห้องสมุดไป่ตู้return 0;
}
本题假设int型数据占两个字节。
(提示:%u表示以无符号整型的格式输出;%ld表示以长整型的格式输出)
8、C语言规定:在一个源程序中,main函数的位置是___A_____。
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
习题
一、程序题
1、阅读程序写运行结果
(1)#include <stdio.h>
int main()
大一c语言考试题及答案解析

大一c语言考试题及答案解析1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B解析:在C语言中,变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
选项A以数字开头,选项C和D包含非法字符(-和$),因此选项B是唯一合法的变量名。
2. C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D解析:在C语言中,定义函数的关键字是`void`,通常与`return`关键字一起使用来指定函数的返回类型。
例如,`void functionName()`定义了一个没有返回值的函数。
选项A和B不是C语言中的关键字,选项C是Python中的关键字。
3. 以下哪个选项是C语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. <!-- This is a single line comment -->D. Both A and B答案:D解析:在C语言中,单行注释可以使用`//`,而多行注释则使用`/*`开始和`*/`结束。
因此,选项A和B都是正确的注释方式,选项C是HTML中的注释方式,不适用于C语言。
4. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,`*`运算符用于计算两个数的乘积。
选项A是加法运算符,选项B是减法运算符,选项D是除法运算符。
5. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};D. Both A and C答案:D解析:在C语言中,字符串可以通过字符数组来定义,可以是直接赋值的字符串字面量(选项A),也可以是字符的列表(选项C),列表的末尾需要添加空字符`\0`来标识字符串的结束。
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语言程序设计(新)》在线作业一-0011试卷总分:100 得分:0一、单选题(共15 道试题,共60 分)1.以下选项中属于C语言的数据类型是()A.复数型B.逻辑型C.集合型D.双精度型正确答案:D2.以下函数的返回结果是( ). int function(char *x) { char *p=x; while(*p++); return(p-x-1); }A.求字符串的长度B.将字符串x连接到字符串p后面C.将字符串x复制到字符串pD.将字符串x反向存放正确答案:A3.C程序是由_____构成的A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数正确答案:B4.已知:int a,*p=&a;,则下列函数调用中错误的是______。
()A.scanf("%d",&a);B.scanf("%d",p);C.scanf("%d",*p);D.printf("%d",a);正确答案:C5.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);A.3 3B.4 4C.3 4D.4 3正确答案:B6.下列符号中,合法的C标识符是__________.①#i ②a>b ③_ave ④a_comB.②③C.③④D.②正确答案:C7.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是__________.A.0B.1C.2D.3正确答案:C8.不合法的八进制数是()A.0B.028C.077D.01正确答案:B9.设有如下定义:int (*ptr) ();则以下叙述中正确的是______。
c语言考试题及答案大一

c语言考试题及答案大一一、选择题1. 下列哪个是C语言的关键字?A. intB. MainC. VarD. For答案:A. int2. C语言中,用于接收用户输入的函数是?A. print()B. scanf()C. input()D. read()答案:B. scanf()3. 下列哪个运算符用于执行求余操作?A. +B. /C. -D. %答案:D. %4. 在C语言中,以下不属于基本数据类型的是?A. intB. floatC. charD. string答案:D. string5. 以下哪个循环结构在执行前判断条件是否满足?A. for循环B. while循环C. do-while循环D. switch语句答案:B. while循环二、填空题1. C语言中,用于定义常量的关键字是__const__。
2. 在C语言中,用于将字符转换为整数的函数是__atoi__。
3. 在C语言中,用于声明一个变量但不对其进行初始化的关键字是__extern__。
4. 在C语言中,用于定义一段预处理指令的关键字是__define__。
三、编程题1. 编写一个C语言程序,判断一个输入的整数是否为质数。
如果是质数,则输出"Yes",否则输出"No"。
```c#include <stdio.h>int isPrime(int n);int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("Yes\n");} else {printf("No\n");}return 0;}int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}```四、简答题1. 请说明C语言中的指针和数组的关系。
C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。
存储器是计算机中具有记忆能力的部件,用来存放程序和数据。
输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。
在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
c语言作业答案

No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格;符号表示下划线;符号ê表示换行回车;即键盘上Enter键..一、选择题1. 一个C程序的执行是从A ..A 本程序main函数开始;到main函数结束B 本程序文件第一个函数开始;到最后一个函数结束C 本程序文件第一个函数开始;到本main函数结束D 本程序main函数开始;到本程序文件最后一个函数结束2. 以下叙述不正确的是D ..A 一个C源程序必须包含一个main函数B 一个C源程序可由一个或多个函数组成C C程序的基本组成单位是函数D 在C程序中;注释说明只能位于一条语句的后面3. 以下叙述正确的是C ..A 在对一个C程序进行编译的过程中;可发现注释中的拼写错误B 在C程序中;main函数必须位于程序的最前面C 语言本身没有输入输出语句D C程序的每行中只能写一条语句4. 一个C语言程序是由B ..A 一个主程序和若干个子程序组成B 函数组成C 若干过程组成D 若干子程序组成5. 以下叙述中正确的是C ..A C语言比其他语言高级B C语言可以不用编译就能被计算机识别执行C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D C语言出现的最晚;具有其他语言的一切优点6. 下列叙述中正确的是D ..A C语言编译时不检查语法B C语言的子程序有过程和函数两种C C语言的函数可以嵌套定义D C语言的函数可以嵌套调用7. 以下叙述中正确的是A ..A 构成C程序的基本单位是函数B 可以在一个函数中定义另一个函数C main函数必须放在其他函数之前D 所有被调用的函数一定要在调用之前进行定义8. C语言规定;在源程序中;main函数的位置C ..A 必须在最开始B 必须在系统调用的库函数的后面C 可以任意D 必须在最后9. 下列选项中不是结构化程序基本结构的是B ..A 顺序结构B 分支结构C 选择结构D 循环结构10. 下列四组选项中;均不是C语言关键字的是A ..A define IF typeB getc char printfC include case scanfD while go pow11. 下列四组选项中;均是不合法的标识符的是B ..A W P 0 doB b-a goto intC float la0 AD -123 abc TEMP12. 下列可用于C语言标识符的一组是B ..A void; define; WORDB a3 b3; 123; CarC For; -abc; IF CaseD 2a; DO; sizeof13. 以面的C程序中;错误的是D ..A mainB main{ int x;y;z; { int x;y;z;x=0;y=x-1; x=0;y=x+1;z=x+y;} z=x+y;}C mainD main{ int x;z; { int x;y;z;int y; x=0;y=x+1;x=0;y=x+1; z=x+y;}z=x+y;}14. C语言中的标识符只能由字母;数字和下划线三种字符组成;且第一个字符C ..A 必须为字母B 必须为下划线C 必须为字母或下划线D 可以是字母;数字和下划线中任一字符15. 下面各选项中;均是C语言标识符的选项组是B ..A 33 we autoB 23 me 3ewC 43 3e elseD ER -DF 32二、填空题1. 国际上C语言常见的三个标准是:标准C 、ANSI C 和ISO C ..2. C语言源程序的文件格式为.c和.h ..3. 请描述C程序中main函数的作用:接受系统调用;开始程序的执行;直至程序结束..三、程序编写题请在本页背面作答1. 编写一个C程序;输出以下信息Very Good2. 编写程序;实现求整数10、20和35的平均值提示:注意给出的是三个整数;求出的平均值不是整数1No.: Name:第2讲C语言基本数据类型一、选择题1. 若x、i、j、k都是int型变量; 则计算下面表达式后;x的值为C ..x=i=4;j=16;k=32A 4B 16C 32D 522. 下列四组选项中;均是合法转义字符的是A ..A ‘\"’ ‘\\’ ‘\n’B ‘\’ ‘\017’ ‘\"’C ‘\018’ ‘\f’ ‘xab’D ‘\\0’ ‘\101’ ‘xlf’3. 下面正确的字符常量是D ..A "c"B ‘\\’’C ‘’D ‘K’4. 以下叙述不正确的是D ..A 在C程序中;逗号运算符的优先级最低B 在C程序中;MAX和max是两个不同的变量C 若a和b类型相同;在计算了赋值表达式a=b后;b中的值将放入a中;b中的值不变D 从键盘输入数据时;对于整型变量只能输入整型数值;对于实型变量只能输入实型数值5. 以下叙述正确的是C ..A 在C程序中;每行只能写一条语句B 若a是实型变量;C程序中允许赋值a=10;因此实型变量中允许存放整型数C 在C程序中;%是只能用于整数运算的运算符D 在C程序中;无论是整数还是实数;都能被准确无误地表示6. 已知字母A的ASCII码为十进制数65;且c2为字符型;则执行语句c2=‘A’+‘6’-‘3’后;c2的值为A ..A DB 68C 不确定的值D C7. sizeoffloat是B ..A 一个双精度型表达式B 一个整型表达式C 一种函数表达式D 一个不合法的表达式8. 设C语言中;一个int型数据在内存中占2个字节;则unsigned int 型数据的取值范围为C ..A 0~255B 0~32767C 0~65535 D9. 设有说明:char w; int x; float y; double z;则表达式wx+z-y值的数据类型D ..A floatB charC intD double10. 设以下变量均为int类型;则值不等于7的表达式是C ..A x=y=6;x+y;x+1B x=y=6;x+y;y+1C x=6;x+1;y=6;x+yD y=6;y+1;x=y;x+111. C语言中的基本数据类型包括B ..A 整型、实型、逻辑型B 整型、实型、字符型C 整型、字符型、逻辑型D 字符型、实型、逻辑型12. 若变量已正确定义并赋值;以下符合C语言语法的表达式是B ..A a:=b+1B a=b=c+2C int 18.5%3D a=a+7=c+b13. C语言中运算对象必须是整型的运算符是A ..A %=B /C =D <=14. 若变量a;i已正确定义;且i已正确赋值;合法的语句是B ..A a==1B ++i;C a=a++=5;D a=inti;15. int a=7;float x=2.5;y=4.7;则表达式x+a%3intx+y%2/4的值是A ..A 2.500000B 2.750000C 3.500000D 0.00000016. 在16位C编译系统上; 若定义long a;; 则能给a赋40000的正确语句是D ..A a=20000+20000;B a=400010;C a=30000+10000;D a=4000L10L;17. 设有int x=11;则表达式x++1/3的值是A ..A 3B 4C 11D 1218. 下列数据中;不合法的C语言实型数据的是C ..A 0.123B 123e3C 2.1e3.5D 789.019. 若变量a是int类型;并执行了语句:a=‘A’+1.6;;则正确的叙述是D ..A a的值是字符CB 不允许字符型和浮点型相加C a的值是浮点型D a的值是字符‘A’的ASCII值加上120. 设变量n为float类型;m为int类型;则以下能实现将n中的数值保留小数点后两位;第三位进行四舍五入运算的表达式是B ..A n=n100+0.5/100.0B m=n100+0.5;n=m/100.0C n=n100+0.5/100.0D n=n/100+0.5100.021. 下面四个选项中;均是不正确的8进制数或16进制数的选项是D ..A 016 0x8f 018B 0abc 017 0xaC 010 -0x11 0x16D 0a12 7ff -12322. 以下选项中;与k=n++完全等价的表达式是A ..A k=n;n=n+1B n=n+1;k=nC k=++nD k+=n+123. 下面均是合法整型常量的选项是A ..A 160 -0xffff 011B -0xcdf 01a 0xeC -01 986012 0668D -0x48a 2e5 0x24. 假定x和y为double型; 则表达式x=2;y=x+3/2的值是D ..A 3.500000B 3C 2.000000D 3.00000025. 以下变量x;y;z均为double类型且已正确赋值;不能正确表示数学式子x÷y÷z的C语言表达式是A ..A x/yzB x1/yzC x/y1/zD x/y/z26. 已知int k;m=1;执行语句k=-m++;后;k的值是A ..A -1B 0C 1D 227. 已知int m;float k;正确的语句是D ..A int k%mB intk%mC intk%mD intk%m28. 不能进行++和--运算的数据类型为D ..A 指针B 整型C 长整型D 常量2No.: Name:29. putchar函数可以向终端输出一个D ..A 整型变量表达式B 实型变量值C 字符串D 字符或字符型变量值30. printf函数中用到格式符%5s;其中数字5表示输出的字符串占用5列..字符串长度大于5;则输出按方式B ;如果字符串长度小于5;则输出按方式C ..A 从左起输出该字符串;右补空格B 按原字符长从左向右全部输出C 右对齐输出该字符串;左补空格D 输出错误信息31. 阅读以下程序;当输入数据的形式为:25;13;10ê;则正确的输出结果为D ..main{ int x;y;z;scanf "%d%d%d";&x;&y;&z;printf "x+y+z=%d\n";x+y+z;}A x+y+z=48B x+y+z=35C x+z=35D 不确定32. 根据下面的程序及数据的输入和输出形式;程序中输入语句的正确形式应该为A ..main{ char ch1;ch2;ch3;输入语句printf "%c%c%c";ch1;ch2;ch3;}输入形式:A B C输出形式:A BA scanf"%c%c%c";&ch1;&ch2;&ch3;B scanf"%c;%c;%c";&ch1;&ch2;&ch3;C scanf"%c %c %c";&ch1;&ch2;&ch3;D scanf"%c%c";&ch1;&ch2;&ch3;33. 已知ch是字符型变量;下面不正确的赋值语句是A ..A ch=‘a+b’;B ch=‘\0’;C ch=‘7’+‘9’;D ch=5+9;34. 若变量已正确说明为float型;要通过语句scanf "%f%f%f";&a;&b;&c;给a赋予10.0;b赋予22.0;c赋予33.0;下列不正确的输入形式是B ..A 10ê22ê33B 10.0;22.0;33.0êC 10.0ê22.0 33.0êD 10 22ê33ê35. 下列程序段的输出结果是: C ..int a=1234; float b=123.456;double c=12345.54321;printf"%2d;%2.1f;%2.1f";a;b;c;A 无输出B 12;123.5;12345.5C 1234;123.5;12345.5D 1234;123.4;1234.536. 已有定义int a=-2;和输出语句printf"%8lx";a;以下正确的叙述是D ..A 整型变量的输出形式只有%d一种B %x是格式符的一种;可适用于任何一种类型的数据C %x是格式符的一种;其变量的值按十六进制输出;但%8lx是错误的D %8lx不是错误的格式符;其中数字8规定了输出字段的宽度二、填空题1. 若有定义:int m=5;y=2;;则计算表达式y+=y-=m=y后的y值是-16 ..2. 在C语言中;一个int型数据在内存中占2个字节;则int型数据的取值范围为-32768 32767 ..3. 若a是int型变量;则计算表达式a=25/3%3后a的值为2 ..4. 若x和n均是int型变量;且x和n的初值均为5;则计算表达式x+=n++后x的值为10 ;n的值为6 ..5. 若有定义:char c="\0108F\0";则字符串c中包含的字符个数为5 ..6. 定义int a=5;b;;则执行表达式b=++a--a之后;变量b的值为25 ..7. 已知字母a的ASCII码为十进制数97;且设ch为字符型变量;则表达式ch=‘a’+‘8’-‘3’的值为102或‘f’ ..8. 以下程序段的输出结果是i:dec=-4;oct=177774;hex=fffc;unsigned=65532 ..main{ short i; i=-4; printf"\ni:dec=%d;oct=%o;hex=%x;unsigned=%u\n";i;i;i;i;}9. 假设变量a和b均为整型;请填空使得以下语句可以不借助任何变量把a、b中的值进行交换..a+= b ; b=a- b ; a-= b ;10. 有一输入语句scanf"%d";k; 则不能使float类型变量k得到正确数值的原因是:1 k应该加上取地址符号&;成为&k 和2 float型数据不能用%d格式来输入..三、程序编写题请在本页背面作答1. 输入圆半径5和圆心角60_C;输出圆的周长、面积和扇形周长、面积..2. 输入一个华氏温度;要求输出摄氏温度..公式为C _ 59 pF _ 32q;输出要有文字说明;取2位小数..3No.: Name:第3讲算法与程序基本结构一、选择题1. 如下程序的输出结果是A ..main{ int x=1;a=0;b=0;switchx{ case 0: b++;case 1: a++;case 2: a++;b++;}printf"a=%d;b=%d\n";a;b;}A a=2;b=1B a=1;b=1C a=1;b=0D a=2;b=22. 以下程序执行后输出结果是C ..main{ int i=1;j=1;k=2;ifj++||k++ &&i++printf"%d;%d;%d\n";i;j;k;}A 1;1;2B 2;2;1C 2;2;2D 2;2;33. 如下程序的输出结果是C ..main{ float x=2.0;y;ifx<0.0 y=0.0;else ifx<10.0 y=1.0/x;else y=1.0;printf"%f\n";y;}A 0.000000B 0.250000C 0.500000D 1.0000004. 设int x=1;y=1;表达式x||y--的值是B ..A 0B 1C 2D -15. 若运行时给变量x输入12;则以下程序的运行结果是A ..main{ int x;y;scanf"%d";&x;y=x>12x+10:x-12;printf"%d\n";y;}A 0B 22C 12D 106. 在C程序中;判逻辑值时;用”非0”表示逻辑值”真”;又用”0”表示逻辑值”假”..在求逻辑值时;逻辑表达式值为”真”和”假”分别用A 表示..A 1和0B 0和1C 非0和非0D 1和17. 以下4个选项中;不能看做一条语句的是D ..A ;B a=5;b=2.5;c=3.6;C ifa<5 ;D ifb=5 x=2;y=6;8. 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是D ..A a>=10 or a<=0B a>=0|a<=10C a>=10&&a<=0D a>=10||a<=09. 如下程序的输出结果是C ..main{ int a=2;b=-1;c=2;ifa<bifb<0 c=0;else c++;printf"%d\n";c;}A 0B 1C 2D 310. 设x;y和z都是int型变量;且x=3;y=4;z=5;则下面表达式中;值为0的表达式D ..A x&&yB x<=yC x||++y&&y-zD x<y&&z||111. 若有条件表达式expa++:b--;则以下表达式中能完全等价于表达式exp 的是B ..A exp==0B exp=0C exp==1D exp=112. 以下程序的输出结果是A ..main{ int a=4;b=5;c=0;d;d=a&&b||c;printf"%d\n";d;}A 1B 0C 非0的数D -113. 设有int a=1;b=2;c=3;d=4;m=2;n=2;执行m=a>b&& n=c>d后n的值是B ..A 1B 2C 3D 414. 下面程序D ..main{ int a=5;b=0;c=0;ifa=b+c printf"\n";else printf"$$$\n";}A 有语法错不能通过编译B 可以通过编译但不能通过连接C 输出D 输出$$$15. 当k的值不为0时;在下列选项中能够将k的值赋给变量m和n的是B ..A m=k=nB m=k&&n=kC m=k||n=kD k=m&&n=k16. 已知int t=0; while t=1 {...}则以下叙述正确的是B ..A 循环控制表达式值为0B 循环控制表达式值为1C 循环控制表达式不合法D 以上说法都不对17. 下面程序输出结果是B ..main{ int n=9;whilen>6 {n--; printf"%d";n;}}A 987B 876C 8765D 987618. 在下列程序段中;没有构成死循环的是D ..A B C Dint i=10; for;;; int k=10; int s=36;while1 do{k++;} whiles{i=i%3+1; whilek>10; --s;ifi>10break;}19. 以下程序段的描述;正确的是C ..x=-1; do { x=xx; }whilex;A 是死循环B 循环执行两次C 循环执行一次D 有语法错误4No.: Name:20. 在下述程序中;判断i>j共执行的次数是D ..main{ int i=0;j=10; k=2; s=0;{ for ;;{ i+=k;ifi>j {printf"%d";s; break;}s+=i;}}A 4B 7C 5D 621. 下面程序的功能是把316表示为两个加数的和;使两个加数分别能被13和11整除;请选择填空..满足题意的选项是B ..include <stdio.h>main{ int i=0;j;k;do{i++;k=316-13i;}while ;j=k/11;printf"316=13%d+11%d";i;j;}A k/11B k%11C k/11==0D k%11==022. 下面程序的运行结果是B ..include <stdio.h>main{ int a=1;b=10;do {b-=a;a++;}whileb--<0;printf"a=%d;b=%d\n";a;b;}A a=3;b=11B a=2;b=8C a=1;b=-1D a=4;b=923. 执行语句fori=1;i++<4;;后变量i的值是C ..A 3B 4C 5D 不定24. 关于程序段int k=10; whilek=0 k=k-1;下面描述中正确的是C ..A while循环执行10次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次25. 表达式for表达式1; ;表达式3可理解为B ..A for表达式1;0;表达式3B for表达式1;1;表达式3C for表达式1;表达式1;表达式3D for表达式1;表达式3;表达式326. 以下程序的输出结果是B ..main{ int i;j;x=0;fori=0;i<2;i++{ x++;forj=0;j<3;j++ {ifj%2 continue;x++;}x++;}printf"x=%d\n";x;}A x=4B x=8C x=6D x=1227. 以下描述中正确的是C ..A 因do-while循环中循环体语句只能是一条可执行语句;所以循环体内不能使用复合语句B do-while循环由do开始;用while结束;在while表达式后面不能写分号C 在do-while循环体中;先执行一次循环;再进行判断D do-while循环中;根据情况可以省略while28. 针对下列语句说法正确的是A ..int i;x;fori=0;x=0;i<=9&&x=876;i++ scanf"%d";x;A 最多的执行10次B 最多执行9次C 是无限循环D 循环体一次也不执行29. C语言中while 和do-while循环的主要区别是A ..A do-while的循环体至少无条件执行一次B while的循环控制条件比do-while更严格C do-while允许从外部转到循环体内D do-while 的循环体不能是复合语句30. 执行程序段int k=1; while++k<4;后k值为A ..A 4B 5C 6D 8二、填空题1. 执行程序段int a=1234; printf "%2d\n";a;的输出结果是1234 ..2. 以下程序的输出结果是16 ..main{int a=0; a+=a=8; printf"%d\n";a;}三、程序编写题如本页空间不够请在背面作答1. 编写程序求解求和公式S _ 1 12 13 14 . . .的前10项..要求画出流程图ANSI流程图和NS流程图..2. 编写程序实现输入整数n;输出如下所示数字组成的菱形如n=5..要求画出流程图ANSI流程图和NS流程图..11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 1 1 2 3 2 11 2 11。
c语言试题及答案解析

c语言试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。
B. C语言可以直接被计算机执行。
C. C语言具有结构化编程的特性。
D. C语言支持多文件编程。
答案:B解析:C语言是一种高级编程语言,它需要编译器将其编译成机器语言后,计算机才能执行。
C语言支持结构化编程,并且可以进行多文件编程。
2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:C解析:在C语言中,关键字`int`用于定义函数的返回类型,`return`用于从函数返回值,`void`表示函数没有返回值,而`function`并不是C语言的关键字。
正确的关键字用于定义函数的是`void`,但通常与函数名一起使用,例如`void functionName() {}`。
二、填空题1. C语言标准库函数_________()用于将字符串转换为浮点数。
答案:atof解析:`atof`函数是C语言标准库中的一个函数,它用于将字符串转换为浮点数。
2. 在C语言中,_________运算符用于计算两个整数的差值。
答案:-解析:在C语言中,减号`-`运算符用于计算两个整数的差值。
三、简答题1. 简述C语言中指针的概念及其作用。
答案:指针是C语言中一个重要的概念,它是一个变量,其值是另一个变量的内存地址。
指针的作用包括:- 直接访问内存,提高程序的运行效率。
- 实现动态内存分配。
- 作为函数参数,实现函数对变量的间接操作。
- 实现复杂的数据结构,如链表、树等。
解析:指针是C语言中用于存储变量地址的变量,它使得程序能够直接操作内存地址,从而实现高效的数据处理和复杂的数据结构。
2. 描述C语言中数组的声明和初始化方法。
答案:在C语言中,数组的声明和初始化可以通过以下方式进行:- 声明:使用`type arrayName[arraySize];`的格式,其中`type`是数据类型,`arrayName`是数组名,`arraySize`是数组的大小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业题一一、单项选择题1.以下的选择中,正确的赋值语句是()。
A) a=1,b=2B) j++C) a=b=5;D) y=int(x)答案:C2.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。
A) c='a';B) c="a";C) c="97";D) C='97'答案:A3.以下不符合C语言语法的赋值语句是()。
A) a=1,b=2B) ++j;C) a=b=5;D) y=(a=3,6*5);答案:A4.以下不符合C语言语法的赋值语句是()。
A) j++;B) j=j=5;C) k=2*4,k*4;D) y=float(j);答案:D5.若有以下定义:char s='\092'; 则该语句()。
A) 使s的值包含1个字符B) 定义不合法,s的值不确定C) 使s的值包含4个字符D) 使s的值包含3个字符答案:B6. 表达式18/4*4.0/8值的数据类型为()。
A) intB) floatC) doubleD) 不确定答案:C7.以下数据中,不正确的数值或字符常量是()。
A) 0B) 5LC) o13D) 9861答案:C8.以下数值中,不正确的八进制数或十六进制数是()。
A) 0x16B) 16C) -16D) 0xaaaa答案:C9.以下数据中,不正确的数值或字符常量是()。
A) 8.9e1.2B) 10C) 0xff00D) 82.5答案:A10.设C语言中,int类型数据占2个字节,则long类型数据占()。
A) 1个字节B) 2个字节C) 4个字节D) 8个字节答案:C11.设C语言中,int类型数据占2个字节,则short类型数据占()。
A) 1个字节B) 2个字节C) 4个字节D) 8个字节答案:B12.C语言中,double类型数据占()。
A) 1个字节B) 2个字节C) 4个字节D) 8个字节答案:D13.C语言中,char类型数据占()。
A) 1个字节B) 2个字节C) 4个字节D) 8个字节答案:A14.设C语言中,int类型数据占2个字节,则unsigned类型数据占()。
A) 1个字节B) 2个字节C) 4个字节D) 8个字节答案:B15.下列数据中,为字符串常量的是()。
A) AB) "house"C) How do you do.D) $abc答案:B16.下列语句的输出结果是()。
printf("%d\n",(int)(2.5+3.0)/3);A) 有语法错误不能通过编译B) 2C) 1D) 0答案:C17.下列程序的输出结果是()。
main(){int a=7,b=5;printf("%d\n",b=b/a);}A) 0B) 5C) 1D) 不确定值答案:A18.C语言能正确处理的指数是()。
A) 8.5e4288B) e-32C) 123000000000D) 4.5e-5.6答案:C19.在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。
A) 由用用户自己定义B) 均为2个字节C) 是任意的D) 由所用机器的机器字长决定答案:D20.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。
A) 0--255B) 0--32767C) 0--65535D) 0--2147483647答案:C21.在C语言中,char型数据在内存中的存储形式是()。
A) 补码B) 反码C) 原码D) ASCII码答案:D22.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A) intB) floatC) doubleD) 不确定答案:C23.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是()。
A) 字符AB) 字符aC) 字符eD) 非法的常量答案:A24.以下选项中合法的实型常数是()。
A) 5E2.0B) E-3C) .2E0D) 1.3E答案:C25.下列变量定义中合法的是()。
A) short _a=1.1e-1;B) double b=1+5e2.5;C) long do=0xfdaL;D) float 2_and=1-e-3;答案:A26.若有说明语句:char c='\72';则变量c()。
A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,c的值不确定答案:A27.下面四个选项中,均是不合法的浮点数的选项是()。
A) 160. 0.12 e3B) 123 2e4.2 .e5C) -.18 123e4 0.0D) -e3 .234 1e3答案:B28.以下运算符中,优先级最高的运算符是()。
A) *=B) >=C) (类型)D) +答案:C29.以下运算符中,优先级最高的运算符是()。
A) ||B) %答案:C30.以下运算符中,优先级最高的运算符是()。
A) =B) !=C) *(乘号)D) ()答案:D31.下列语句的结果是()。
main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A) 3,3B) 3,4C) 4,3D) 4,4答案:D32.设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为()。
A) 12B) 144C) 0D) 132答案:C33.执行下列程序后,其输出结果是()。
main(){int a=9;a+=a-=a+a;printf("%d\n",a);}A) 18B) 9C) -18D) -9答案:C34.下列程序的输出结果是()。
main(){int a=011;printf("%d\n",++a);}A) 12B) 11C) 1035.C语言中运算对象必须是整型的运算符是()。
A) %=B) /C) =D) 〈=答案:A36.执行下列语句后变量x和y的值是()。
y=10;x=y++;A) x=10,y=10B) x=11,y=11C) x=10,y=11D) x=11,y=10答案:C37.下列程序的输出结果是()。
main(){int a=7,b=5;printf("%d\n",b=b/a);}A) 0B) 5C) 1D) 不确定值答案:A38.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A) 552B) 144C) 264D) -264答案:D39下列程序段的输出结果为()。
int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));A) 1B) 7C) 3D) 5答案:C40.执行以下程序段后,输出结果和a的值是()。
int a=10;printf("%d",a++);A) 10 和10B) 10 和11C) 11 和10D) 11 和11答案:B41.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
A) a:=b+1B) a=b=c+2C) int 18.5%3D) a=a+7=c+b答案:B42.设以下变量均为int类型,则值不等于7的表达式是()。
A) (x=y=6,x+y,x+1)B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y)D) (y=6,y+1,x=y,x+1)答案:C若有定义:int a=7;float x=2.5,y=4.7;43.则表达式x+a%3*(int)(x+y)%2/4的值是()。
A) 2.500000B) 2.750000C) 3.500000D) 0.000000答案:A44.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。
A) 1B) 2C) 2.0D) 2.5答案:C45.若变量a与i已正确定义,且i已正确赋值,合法的语句是()。
A) a==1B) ++i;C) a=a++=5;D) a=int(i);答案:B46.设有int x=11; 则表达式(x++ * 1/3) 的值是()。
A) 3B) 4C) 11D) 12答案:A47.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++, sum++,++num后sum的值为()。
A) 7B) 8C) 9D) 10答案:B48.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A) 7B) 8C) 6D) 2答案:B49.以下符合C语言语法的赋值表达式是()。
A) d=9+e+f=d+9B) d=9+e,f=d+9C) d=9+e,e++,d+9D) d=9+e++=d+7答案:B50.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A) -3B) 9C) -12D) 6答案:C51.以下选项中,与k=n++完全等价的表达式是()。
A) k=n,n=n+1B) n=n+1,k=nC) k=++nD) k+=n+1答案:A52.下列变量说明语句中,正确的是()。
A) char:a b c;B) char a;b;c;C) int x;z;D) int x,z;答案:D53.以下不正确的叙述是()。
A) 在C程序中所用的变量必须先定义后使用B) 程序中,APH和aph是两个不同的变量C) 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D) 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:D54.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。
long a=0xffffff;int b; char c;A) 0ffffff 和0x61B) -1和98C) -1和97D) 指向同一地址答案:C55.执行下列语句后,a和b的值分别为()。
int a,b;a=1+'a';b=2+7%-4-'A';A) -63,-64B) 98,-60C) 1,-60D) 79,78答案:B56.C语言中要求对变量作强制定义的主要理由是()。
A) 便于移植B) 便于写文件C) 便于编辑预处理程序的处理D) 便于确定类型和分配空间答案:D二、判断题(对的写Y,错的写N)1.整数-32100可以赋值给int型和long int型变量。