带答案C语言2-10章作业

合集下载

带答案C语言2-10章作业

带答案C语言2-10章作业

C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=3.5,y=2.5; 则下面表达式的值为(C)。

(float)(a+b)/2+(int)x% (int)yA)3.5 B)35 C)3.500000 D)35.000002.若有定义:int x=3 ,y=2; float a=2.5 ,b=3.5; 则下面表达式的值为( B )。

(x+y)%2+(int)a/(int)bA)1.0 B)1 C)2.0 D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。

x%=(n%=2)A)0 B)1 C)2 D)34.设有int x=11; 则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。

#include <stdio.h>main( ){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)3.076.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <stdio.h>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 6.0 6.0 B)6 6 6.7 6.7C)6 6 6.0 6.7 D)6 6 6.7 6.07.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

A)1 B)2 C)2.0 D)2.58.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

C语言各章节练习题(含答案)

C语言各章节练习题(含答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是。

C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。

int C) float la0 _A D) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。

\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是。

“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。

A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。

计算机二级C语言章节练习题及答案

计算机二级C语言章节练习题及答案

1.2算法1[填空题]一颗二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】O参考解析:[2】DEBFCA【解析】根据二叉树的中序遍历原则可知D为二叉树的最左边的叶子结点,根据二叉树的前序遍历原则可知A是二叉树的根结点,就可以确定二叉树的结构,所以二叉树的后序遍历结果为:DEBFCA02[填空题]队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。

允许删除的一端称作。

参考解析:队头【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。

允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

3[填空题]在最坏情况下,堆排序需要比较的次数为。

参考解析:0(nlog2n)【解析】在最坏情况下,冒泡排序所需要的比较次数为n(nr1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为0(nl.5);堆排序所需要的比较次数为0(nlog2n)。

4[单选题]算法的有穷性是指()。

Λ,算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用参考答案:A参考解析:算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

,④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

⑤输出:一个算法有一个或多个输出。

5[单选题]下列叙述中正确的是()。

A.数据的逻辑结构与存储结构是一一对应的B.算法的时间复杂度与空间复杂度一定相关C.算法的效率只与问题的规模有关,而与数据的存储结构无关D.算法的时间复杂度是指执行算法所需要的计算工作量参考答案:D参考解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

C语言章节习题集(全)

C语言章节习题集(全)

C语言程序设计第一、二章单项选择题1. 将汇编语言编写的程序翻译成目标程序的程序是()A)解释B)编译C)汇编D)目标2.A)3.4.5.A)6、CA7A、B、C、C语言程序中,main()函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行8、以下对C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对C语言源程序执行过程描述正确的是()。

A、从main() 函数开始执行,到main()函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、D、1.2.3.4. 用”。

5. C6. C。

7、89.10. 选择结构可以分为____、双分支结构和多分支结构。

11. 循环结构又可分为当型循环、____及次数型循环。

第三章数据类型、运算符与表达式单项选择题1. 以下程序的输出结果是。

main(){int a=10,b=10;printf("%d,%d",a--,++b);}A)10,11 B)10,10 C)9,9 D)9,112. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表3. 设4.5. 字符串“\ t \ n \ \ \ 045 \’”的长度为。

A)4 B)10 C)5 D)说明不合法6. C语言中最基本的数据类型包括。

A)整型,实型,逻辑型B)整型,实型,布尔型C)整型,实型,字符型D)整型,实型,指针型7. C浯言中的构造类型包括。

A)数组型,结构体型,联合体型B)结构体型,联合体型,指针型C)结构体型,联合体型,枚举类型D)数组型,结构体型,联合体型,指针型8. 设int9. 若10.11.12.13.14. ' \060 '和"\060"在内存中占用的字节数分别为。

C语言第十章复习题(含答案)

C语言第十章复习题(含答案)

1.若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是(B )。

(A)i= *p; (B)*p=*&j; (C)i=&j; (D)i=* *p;2.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是( C)。

(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+53.若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是( A)。

(A)4 (B)5 (C)9 (D)104.以下不能正确进行字符串赋初值的语句是(A )。

(A) char str[5]="good!"; (B) char str[]="good!";(C) char *str="good!"; (D) char str[5]={‘g',‘o',‘o',‘d'};5.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为( D )。

(A) 无确定值 (B) a的地址 (C) 512 (D) 5116.下面程序的输出是( A )。

(A) 3 (B) 4 (C) 1 (D) 2main(){ int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}7.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(D )。

(A) p=q; (B) *p=*q; (C) n=*q; (D) p=n;8.有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是( B )。

C语言答案(删减版)

C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。

1-6 编辑、编译、链接、执行。

1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。

一个函数中的语句组由声明区和可执行语句区两部分构成。

1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。

1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。

#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。

#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。

C语言各章节单元测试题及答案——位运算

C语言各章节单元测试题及答案——位运算

第10章位运算10.1典型考试题剖析10.1.1选择题【例1】整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是。

A) x || y B) x | y C) x & y D) x ^ y✧考点:位运算的性质。

✧分析:答案A是两个非0数进行或运算,得到一定为非0值。

答案B是两个非0数进行按位或运算,得到的也一定是非0值。

答案C是两个非0数进行按位与运算,结果可能为0,也可能不为0。

答案D根据位运算的性质可知,一个数和本身进行异或运算的值一定是0。

✧答案:D【例2】以下程序的输出结果是。

main(){ char x=040;printf("%o\n",x<<1);}A) 100 B) 80 C) 64 D) 32✧考点:左移运算。

✧分析:040是八进制数,用二进制表示为00100000,左移1位后得到001000000即64,用八进制输出结果为100。

✧答案:A【例3】在位运算中,操作数每左移1位,相当于。

A) 操作数乘以2 B) 操作数除以2 C) 操作数乘以16 D) 操作数除以16✧考点:左移运算的性质。

✧分析:因为位运算的操作对象是整型数据,所以乘、除2的整数倍可以用移位来实现,左移1位相当乘以2,右移1位相当于除以2,用移位方法作乘除运算速度快。

✧答案:A【例4】下面语句输出结果是。

char a=7;printf("%d,%d",~a,!a);A) 0,8 B) 8,0 C) -8,0 D) 0,-8✧考点:按位取反运算和非运算。

✧分析:此题考察逻辑反和按位取反的区别,求逻辑反时,只要a≠0就按真算,即!a=0;按位取反时,00000111变为11111000此值正好是-8的补码。

✧答案:C【例5】设有以下语句,则z的二进制值是。

char x=3,y=12,z;z=x^y<<2;A ) 00110011 B) 00001111 C) 11110000 D) 00000000✧考点:位运算的优先级。

C语言全国计算机二级等级考试教程第10章 字符串(章节带习题)

C语言全国计算机二级等级考试教程第10章  字符串(章节带习题)

输出时直到遇第一 char str[ ]=“I love you!” , *p=str; 个‘\0‟结束输出。 字符指针变量 printf(“%s\n” , p); 字符数组名
输入项 字符指针变量
转去介绍
10.3 字符串的输入和输出
字符数组名
输入项
字符指针变量 当字符数组名作为输入项: char str[15]; scanf(“%s”,str); 在内存中的形式是: P R 输入形式为: PROGRAMMING<CR> O G R A M M I N Ga赋初值后的存储示意图
10.4 字符串数组
可以定义字符型指针数组并通过赋初值来构成一个类似的字符串数组。 例如:char *pa[3]={“a”, ”bb”, ”ccc”}; 定义了一个字符型指针数组,该数组中含有3个元素pa[0] 、pa[1]、 pa[2],且每一个 元素都是一个指向字符串的指针。
则在str中存入的只是字符串“APROGRAM”,而不是字符串“APROGRAM MING
10.3 字符串的输入和输出
10.3.3 调用gets、puts函数在终端输入或输出一行字符串
调用gets函数来输入字符串,例如: char str[15]; gets( str ); 在内存中的形式是: A P 若从键盘上依次输入: APROGRAM MING<CR> R O G R A M M I N G \0 \0
★ 两个字符串分别占有不同的存储空间。 ★ 指针变量pmark中的地址可以改变而指向另外一个长度 不同的字符串。
10.3 字符串的输入和输出
10.3.1 输入和输出字符串时的必要条件
输入和输出的格式说明符为 %s 对字符串输入输出时的必要条件: 字符串常量 输出项 字符数组名 printf(“%s\n” , ”I love you!”); char str[ ]=“I love you!”; printf(“%s\n” , str); I love you!
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。

(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。

(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。

x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。

A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。

#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。

int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。

#include <>main( ){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}A)3 4 B)4 2 C)4 3 D)3 311.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。

A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=012.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。

A)不定值B)4 C)3 D)113.以下程序的输出结果是( D )。

#include <>main( ){ int a=3;printf("%d\n",(a+=a-=a*a));}A)-6 B)12 C)0 D)-1214.设 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的值为( C )。

A)0 B)1 C)2 D)315.在C语言中,如果下面的变量都是int类型,则输出的结果是( A )。

sum=pad=5; pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7 B)6 C)5 D)4二、填空题1.若a,b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后,a值为__6____,b值为__4____,c值为__2____。

2.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为___-60___。

3.若a是int型变量,则执行表达式a=25/3%3后a的值为___2___。

4.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10____,n的值为___6___。

5.表达式8/4*(int)(int)*+)值的数据类型为__int型___。

6.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为__26____。

7.若x和a均是int型变量,则执行表达式x=(a=4,6*2)后x的值为__12__,执行表达式(x=a=4,6*2)后x的值为__4___。

8.若有以下定义int m=5,y=2;,则执行表达式y+=y-=m*=y后y的值是__-16____。

9.已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为__语句本身是错误的_错误的赋值__。

10.若int w=1,x=2,y=3,z=4;则条件表达式w>xw:y<zy:z的结果为__3____。

11.以下程序的输出结果是__10 9____。

#include <>main( ){ int x=10,y=10;printf("%d %d\n",x--,--y);}12.表达式*(1/2)的值为。

第3章基本语句一、选择题1.下面程序的输出结果是( B )。

#include <>main( ){ int x=5,y=3;printf("%d\n",y=x/y);}A)0 B)1 C)3 D)不确定的值2.若变量已正确定义,下面程序段的输出结果是( A )。

x=; printf("%f\n",(int)(x*1000+05)/(float)1000);A) B)输出格式说明与输出项不匹配,输出无定值C) D)3.以下程序的输出结果是( D )。

#include <>main( ){ int a=4; float b=9;printf("a=%%d,b=%%f\n",a,b);}A)a=4,b= B)a=%4,b=%9.000000 C)a=%%d,b=%%f D)a=%d,b=%f4.下面语句:printf("|%8.5f|\n",; 的输出结果是( C )。

A)|| B)|| C)|| D)||5.( D )是不正确的C语言赋值语句。

A)x=1,y=2; B)x++; C)x=y=5; D)y=int(x);6.与数学公式|cos(x)|等价的C语言表达式是( D ),假定其中的x的单位是度数且不考虑π值的精度。

A)sqrt(cos(x)) B)sqrt(abs(cos(x*180)))C)sqrt(abs(cos(x*(/180))) D)sqrt(fabs(cos(x*180)))7.下面的程序( D )。

#include <>main( ){ int x=3,y=0,z=0;if(x=y+z)printf("* * * *");else printf("# # # #");}A)有语法错误不能通过编译B)输出* * * *C)可以通过编译,但是不能通过连接,因而不能运行 D)输出# # # #8.执行下面程序中的输出语句后,a的值是(C )。

#include <>main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A)65 B)20 C)15 D)109.若执行下面的程序时,从键盘上输入3和4,则输出结果是(B )。

#include <>main( ){ int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s=s*s;printf("%d\n",s);}A)14 B)16 C)18 D)2010.以下程序不用第三个变量,实现将两个数进行对调的操作。

请填空( B )。

#include <>main( ){int a,b;scanf("%d%d",&a,&b);printf("a=%d b=%d",a,b);a=a+b;b=a-b;a=;printf("a=%d b=%d\n",a,b);}A)a+b B)a-b C)b*a D)a/b11.执行下列程序的结果是( B )。

#include <>main( ){ float x=3,y;y=++x * x++;printf("%f\n",y);}A) B)16.000000 C) D)程序有错误12. 执行下列程序时输入1234567,程序的运行结果为( B )。

#include <>main( ){ int x,y;scanf("%2d%2ld",&x,&y); printf("%d\n",x+y);}A)17 B)46 C)15 D)913.下述程序的输出结果是( A )。

#include <>main( ){ printf("%f",+1*7%2/4);}A) B)2.750000 C) D)14. 下属程序的输出结果是( D )。

#include <>main( ){ float a; a=1/0;printf("%g",a);}A)+00 B)0.0 C) D)015.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是 ( A )。

A)x=10,y=15,z=10 B) x=10,y=10,z=10C) x=10,y=10,z=15 D) x=10,y=5,z=10二、填空题1.下面程序的输出是__-200,25i=-200,j=25____。

i=-200j=25#include <>main( ){ int i=-200,j=25;printf("%d,%d",i,j);printf("i=%d,j=%d\n",i,j);printf("i=%d\n j=%d\n",i,j);}2. 以下程序的输出结果是__156, 156, 234, 9c, 156____。

#include <>main( ){ int a=0234;printf("%3d,%6d,%6o,%6x,%6u\n",a,a,a,a,a);}3.以下程序的输出结果是, , 。

相关文档
最新文档