计算机二级c语言自增 自减习题
C语言全国计算机二级等级考试教程第一二章(章节带习题)
2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。
c语言自增自减运算例题
c语言自增自减运算例题自增和自减运算是C语言中常用的运算符,用于对变量进行加一或减一操作。
下面是一些关于自增和自减运算的例题,我将从多个角度进行回答。
1. 自增运算符(++)的使用:c.#include <stdio.h>。
int main() {。
int a = 5;printf("a = %d\n", a); // 输出,a = 5。
a++; // 自增操作。
printf("a = %d\n", a); // 输出,a = 6。
return 0;}。
在这个例子中,我们定义了一个整数变量a,并初始化为5。
然后使用自增运算符对a进行加一操作,最后输出a的值。
执行自增运算后,a的值变为6。
2. 自减运算符(--)的使用:c.#include <stdio.h>。
int main() {。
int b = 8;printf("b = %d\n", b); // 输出,b = 8。
b--; // 自减操作。
printf("b = %d\n", b); // 输出,b = 7。
return 0;}。
在这个例子中,我们定义了一个整数变量b,并初始化为8。
然后使用自减运算符对b进行减一操作,最后输出b的值。
执行自减运算后,b的值变为7。
3. 自增运算符的前缀和后缀形式:c.#include <stdio.h>。
int main() {。
int c = 3;int d = 3;printf("c = %d\n", c++); // 输出,c = 3。
printf("c = %d\n", c); // 输出,c = 4。
printf("d = %d\n", ++d); // 输出,d = 4。
printf("d = %d\n", d); // 输出,d = 4。
2012年3月全国计算机等级考试二级C语言真题及详细答案
12、关于C语言中数的表示,以下叙述示,实型数会有误差
B、只要在在允许范围内整型和实型都能精确表示
C、只有实型数在允许范围内能精确无误的表示,整型数
会有误差
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序运行时键盘输入9<回车>,则输出的结构是
A、10 B 11 C 9 D 8
6、 有三个关系R、S和T如下:
R
A B C
a 1 2
b 2 1
c 3 1
则由关系R和S得到关系T的操作是
A、自然连接 B、并 C、差 D、交
【答案】C
【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。记为T=R-S。根据本题关系R和关系S运算前后的
A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,10
【答案】C)
【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。
行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。
18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是
全国计算机等考二级C语言模拟试题3
(14)下面程序在屏幕上的输出是________。
main()
{
printf("ab\b\b c");
}
A)ab\b\b c B)a c C)abc D)ab c
答案:B
评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个"\"开头的字符序列,这样的字符称为"转义字符"。常用的转义字符有:\n,换行;\t,水平制表;\b,退格;\r,回车。
一、选择题((1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)算法的时间复杂度是指_______。
A)执行算法程序所需要的时间
B)算法程序的长度
(12)一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构 B)选择结构 c)循环结构 )跳转结构
答案:D
评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
评析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。
计算机二级c语言考试真题及答案详解
计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。
二级C语言笔试-148
二级C语言笔试-148(总分:66.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.有以下程序#include <stdio.h>main0int y=9;for( ;y>0;y--)if(y%3==0) printf("%d",--y);程序的运行结果是(分数:1.00)A.741B.963C.852 √D.875421解析:[解析] 本题考查变量的自加“++”和自减“--”问题。
当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值,y的自减要先于输出语句执行,故输出结果为8 5 2。
2.下面程序的输出结果是#include<stdio.h>main()int a[]=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf("%d/n",*p+9);(分数:1.00)A.0B.1C.10 √D.9解析:[解析] 此题考查了指针引用一维数组元素的方法。
*p+9因为运算符“*”的优先级高于“+”,所以输出结果为p指向的元素1,然后加9,值为10。
3.下列叙述中正确的是(分数:1.00)A.程序执行的效率与数据的存储结构密切相关√B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对解析:[解析] 程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。
顺序存储结构在数据插入和删除操作上的效率比链式存储结构的效率低。
4.有以下程序#include <stdio.h>main()int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d/n",m);程序的运行结果是(分数:1.00)A.0B.1 √C.2D.3解析:[解析] 本题考查循环语句的嵌套以及条件的判断问题。
计算机国二C语言考试试题 第六套
第六套1.树是结点的集合,它的根结点数目是( )A.有且只有1B.1或多于1C.0或1D.至少2分析:树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交的集合。
每个集合同时又时一棵树。
树有且只有1个根结点。
2.在设计程序时,应采纳的原则之一是( )A.不限制goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解分析:滥用goto语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。
3.下列叙述中,不属于软件需求规格说明书的作用的是( )A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析分析:软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。
它有以下几个方面的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
4.单个用户使用的数据视图的描述称为( )A.外模式B.概念模式C.内模式D.存储模式分析:选项A正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项D)不正确,存储模式为内模式。
5.SQL语言又称为( )A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言分析:结构化查询语言(Structured Query Language,简称SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。
校园网.新视野教育全国计算机等级考试二级C语言教程课后习题解析
说明:1、原先的少部分题目有错,请用红色的部分替换掉;2、如果红色部分有文字“删除该行”,就直接删除该行;第一章C语言的基础知识第一节对C语言的初步认识习题1. 下列叙述中错误的是BA)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始执行。
B)C语言中的变量,可以先使用后定义。
C)所有的C语言语句最后都必须有一个分号D)C程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。
第二节熟悉Visual C++习题1. C语言源程序名的后缀是 BA).exe B).c C).obj D).cp 2. 下列叙述中错误的是DA)计算机不能直接执行用C语言编写的源程序B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行3. 用C语言编写的代码程序BA)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行第三节标识符习题1. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是BA)大写字母B)连接符C)数字字符D)下划线2. 以下选项中不合法的标识符是 CA)print B)FOR C)&a D)_003. 以下叙述中错误的是AA)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识4. 可在C程序中用作用户标识符的一组标识符是AA)and B)Date C)HiD)case_2007 y-m-d Dr.TomBigl5. 以下不合法的用户标识符是CA)j2_KEY B)Double C)4d D)_8_6. 以下不能定义为用户标识符的是DA)Main B)_0 C)_int D)sizeof7. 下列选项中,不能用作标识符的是DA)_1234_ B)_1_2 C)int_2_ D)2_int_8. 以下4组用户定义标识符中,全部合法的一组是AA)_main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _001第四节数制转换习题1.十进制整数360的八进制为__________,十六进制为_____________。
全国计算二级考试c语言试题及答案
全国计算二级考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 若有定义:int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. -20B. 0C. 5D. 10答案:A5. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-name答案:B7. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. voidC. functionD. int答案:D8. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A9. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 若有定义:char a[5]="abcd";,则执行语句strcat(a,"e");后,数组a的值是什么?A. "abcde"B. "abcde\0"C. "abcd"D. "abcde"答案:D二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型数组可以使用语法:intarray_name[10];,其中10表示数组的______。
二级c语言经典练习带答案
考研程序设计复习题1.以下程序的输出结果是______。
main(){ int a=0;a+=(a=8);printf("%d\n",a);}答案:16知识点:赋值表达式2.若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。
c=(a-=(b-5));c=(a % 11)+(b=3);答案:3知识点:赋值表达式3.以下程序运行后的了输出结果是______。
main(){ int a=1,b=2,c=3;if(c=a) printf("%d\n",c);else printf("%d\n",b);}答案:1知识点:赋值表达式4.若有语句int i=-19, j=i%4;printf("%d\n",j);则输出结果是______。
答案:-3知识点:算术表达式5.设有以下程序:main(){ int n1,n2;scanf("%d",&n2);while(n2!=0);{ n1=n2 % 10n2=n2/10;printf("%d",n1);}}程序运行后,如果从键盘上输入1298,则输出结果为______。
答案:8921知识点:算术表达式6.下面程序的输出是______。
unsigned fun6( unsigned num){ unsigned k=1;do {k*=num%10;num/=10;}while(num);return(k);}main(){ unsigned n=26;printf("%d\n", fun6(n));}答案:12知识点:算术表达式7.设y 是int型变量,请写出判断y为奇数的关系表达式______。
答案:y%2知识点:算术表达式8.下列程序的输出结果是16.00,请填空。
main(){ int a=9,b=2float x=______,y=1.1,z;z=a/2+b*x/y+1/2;printf("%5.2f\n",z);}答案:6.6知识点:算术表达式9.以下程序运行后的输出结果是______。
国家计算机二级C语言108套操作题真题及答案解析
所属年份:2010.9;2011.3;2012.3;2012.9下列给定程序中,函数fun 的功能是:计算如下公式()()()12222213572462n n s n -⨯+=-+-⨯…-1直到()()3221102n n -⨯+≤⨯,并且把计算结果作为函数值返回。
例如,若形参e 的值为1e -3,则函数返回值为0.551690。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C 中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h> double fun(double e){ int i, k; double s, t, x; s=0; k=1; i=2;/**********found**********/ x=__1__/4;/**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i;/**********found**********/ x=__3__/(t*t); i++; }return s; }main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e)); }【参考答案】(1)3.0或(double)3 (2)> (3) (t +1) 【考点分析】本题考查:基本算术运算时的类型转换,其转换规则为:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,while 循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。
【解题思路】填空1:变量x 定义为double 类型,而运算符"/"后面是整型数,所以给x 赋值时,需要注意数据类型,此处不能将3.0写成3。
全国计算机等级考试二级C语言真题题库
全国计算机等级考试二级C语言真题题库2 2014年3月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有—个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。
双向链表节点具有两个指针域,属于线性结构,故A选项错误。
循环链表所有节点的指针域都为非空,属于线性结构,故B选项错误。
循环链表是链表,循环队列属于队列,队列只能在队尾入队,在排头退队,链表可以在任何位置插入、删除,故C选项错误。
双向链表节点具有多个指针域,故D选项正确。
2. 使用白盒测试方法时,设计测试用例应根据()。
A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗,则实体医生和患者之间的联系是()。
A 多对多B 多对一C 一对多D 一对一答案:A[解析]一般来说,实体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。
医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,故A选项正确。
4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。
A 二分法查找B 顺序查找C 分块查找D 哈希查找答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。
C语言题集(二)答案
C语⾔题集(⼆)答案第3章顺序结构1.B解析:在C语⾔中,当⼀次输⼊多个数据的时候,数据之间要⽤间隔符,合法的间隔符可以是空格、制表符和回车符。
逗号不是合法的间隔符。
2.B解析:本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。
3.C解析:①printf函数的浮点数缺省输出格式:在printf函数的输出中,若⽆输出宽度限制,每种数据都有⼀个缺省的输出宽度,⼀般浮点数的⼩数位数则是6位,不管输出格式是%f或%lf皆如此。
4.②printf函数的浮点数宽度限制输出:以%mf或%mlf格式输出浮点时,如果指定的宽度⼤于实际数据宽度,按指定宽度输出,且多余数补以空格;如果指定的宽度⼩于实际数据宽度,浮点数的整数部分将以实际数据(位数)输出。
⼩数部分按指定数输出,且对数据做四舍五⼊处理。
5.③printf的整数限宽输出:没有宽度制的整数原数输出。
在宽度限制于数的实际位数时,宽度说明⽆效,按数的实际位数输出。
6.D解析:在C语⾔所有的运算符中,逗号运算符的优先级最低。
C语中区分⼤⼩,所以APH和aph是两个不同的变量。
赋值表达式a=b表⽰将b的值付给a,⽽b本⾝的值保持不变;通过键盘可以向计算机输⼊允许的任何类型的数据。
选项D)中当从键盘输⼊数据时,对于整型变量可以输⼊整型数值和字符,对于实型变量可以输⼊实型数和整型数值等。
7.C解析:本题中,程序先执⾏语句 x=;,根据赋值运算的类型转换规则,先将double型的常量转换为int型,即取整为1,然后将1赋值给变量x。
接下来执⾏语句y=(x+)/;根据运算符的优先级,先计算⼩括号内,再计算除法,最后执⾏赋值运算。
⼩括号内的运算过程:先将整型变量x的值1转换为double型,然后与进⾏加法运算,得到中间结果。
接着进⾏除法运算,其结果⼩于,这⾥没有必要计算出精确值,因为接着进⾏赋值运算,赋值号左边的变量y的类型为整型,于是对这个⼩于的中间结果进⾏取整,结果为0,于是变量y的值为0,d*y的值也为0。
国家二级(C语言)机试历年真题试卷汇编18
国家二级(C语言)机试历年真题试卷汇编18(总分:86.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中错误的是( )。
(分数:2.00)A.算法的时问复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系√D.算法的时间复杂度与算法程序执行的具体时间是不一致的解析:解析:算法的时间复杂度是指执行算法所需要的计算工作量。
数据的存储结构直接决定数据输入,而这会影响算法所执行的基本运算次数,A项正确。
算法的空间复杂度是指执行这个算法所需要的内存空间,其中包括输入数据所占的存储空间,B项正确。
而算法的时间复杂度与空间复杂度没有直接关系,C项错误。
算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节所影响,而算法的时间复杂度与这些因素无关,所以是不一致的,D项正确。
2.在满足实体完整性约束的条件下( )。
(分数:2.00)A.一个关系中应该有一个或多个候选关键字√B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字解析:解析:实体完整性约束要求关系的主键中属性值不能为空值,因此本题答案为A。
3.下面描述中,不属于软件危机表现的是( )。
(分数:2.00)A.软件过程不规范√B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
因此本题答案为A。
4.下列各项中不属于需求分析阶段任务的是( )。
(分数:2.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划√解析:解析:需求分析阶段的工作包括:需求获取、需求分析、编写需求规格说明书、需求评审,因此本题答案为D。
C语言习题(前五章)
第一部分 C语言基础一、判断题1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。
【】2.main函数必须写在一个C程序的最前面。
【】3.一个C程序可以包含若干的函数。
【】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
【】5.C程序的注释只能是一行。
【】6.C程序的注释不能是中文文字信息。
【】第二部分数据类型、运算符及表达式一、选择题1.合法的字符常量是( )。
A)‘\t’B) “A” C)‘\028’D)’\x32’2.是C语言提供的合法的数据类型关键字。
A) Float B) signed C) integer D)Char3.在以下各组标识符中,不合法的标识符是。
(1)A)B01 B)table_1 C) 0_t D) k%(2)A)Fast_ B) void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)int C)_xy D)w_y235.下面选项中,不是合法整型常量的是。
A)160 B)-0xcdg C)-01 D)-0x48a6.假设int型在内存中占16位,判断int x = 0xaffbc;x的结果是。
A)赋值非法 B)溢出 C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是。
(1)A)+1e+1 B)-.60 C)123e D)-e3(2)A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4(3)A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,参加运算的数必须是整数的运算符是。
A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以形式存放。
A)原码 B)BCD码 C)反码 D)ASCII码10.下列语句中,符合语法的赋值语句是。
A)a=7+b+c=a+7; B)a=7+b++=a+7;C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。
《二级C语言》练习题库与参考答案
《二级C语言》练习题库与参考答案一、单选题(共100题,每题1分,共100分)1、软件生命周期中,确定软件系统要做什么的阶段是()。
A、软件测试B、软件设计C、需求分析D、系统维护正确答案:C2、软件生命周期是指()。
A、软件的开发与管理B、软件产品从提出、实现、使用、维护到停止使用退役的过程C、软件的实现和维护D、软件的需求分析、设计与实现正确答案:B3、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为()。
A、n+1B、n/2C、2nD、n-1正确答案:D4、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是()。
A、main() { float fun(int i,int j); ……x=fun(i,j);…… } float fun(inta,int b){……}B、float fun(int,int); main() {……x=fun(2,10);……} float fun(inta,int b){……}C、float fun(inta,int b){……} main() {……x=fun(i,j);……}D、main() {……x=fun(2,10);……} float fun(inta,int b){……}正确答案:D5、以下关于指针的叙述,错误的是()。
A、两个基类型相同的指针变量不能指向同一个对象B、可以通过对指针变量自增、自减来移动指针C、只有两个类型相同的指针才能进行减运算D、一个指针变量可以通过不同的方式获得一个确定的地址值正确答案:A6、结构化程序设计的基本原则不包括()。
A、模块化B、逐步求精C、自顶向下D、多态性正确答案:D7、下面描述不属于软件特点的是()。
A、软件复杂性高B、软件使用不涉及知识产权C、软件在使用中不存在磨损、老化问题D、软件是一种逻辑实体,具有抽象性正确答案:B8、关系表中的每一行记录称为一个()。
计算机二级《C语言》自测试题及答案
计算机二级《C语言》自测试题及答案计算机二级《C语言》自测试题及答案20161.若变量c为char类型,能正确判断出c为小写字母的表达式是()A)′a′<=c<=′z′B)(c>=′a′)||(c<=′z′)C)(′a′=C)D)(c>=′a′)&&(c<=′z′)2.下面程序的输出结果是()main(){ int x=2,y=0,z;x+=3+2;printf("%d",x);x*=y=z=4;printf("%d",x);}A)728B)无法计算C)7,4D)8,43.有如下程序main(){int x=1,a=0,b=0;switch(x){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=24.以下选项中,正确的if-else语句是()A)if(x!=0)printf("%d",x)elseprintf("%d",-x);B)if(x!=0){x=x+y;printf("%d",x); }elseprintf("%d",-x);C)if(x!=0)x=x+y;printf("%d",x);elseprintf("%d",-x);D)if(x!=0){x=x+y;printf("%d",x)};elseprintf("%d",-x);5.有以下程序段int n=0,p;do {scanf("%d",&p);n++;}while(p!=12345 &&n<3); 此处do-while循环的结束条件是()A)p的值不等于12345并且n的值小于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的`值等于12345或者n的值大于等于36.若有如下程序段:main(){ int n=0;while(printf("*")){ n++;if(n<3)break; }}则下列描述正确的是()A)其中循环控制表达式与0等价B)其中循环控制表达式与’0’等价C)其中循环控制表达式是不合法的D)以上说法都不对7.C语言中main函数参数的非法表示形式是()A)main(char *argv[],int argc)B)main(int a,char**b)C)main(int y,char *x[])D)main(int argv,char *argc[])8.设有如下枚举类型定义:enum language {Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举类型Fortran的值为()A)4B)7C)102D)1039.阅读下述程序段:y=-1;if (x!=0)if (x>0)y=1;elsey=0;该程序段所描述的数学关系是()A)y=-1(x<0)0(x=0)1(x>0)B)y=1(x<0)0(x=0)-1(x>0)C)y=0(x<0)-1(x=0)1(x>0)D)y=-1(x<0)1(x=0)0(x>0)10.设有数组定义:char array[]="China";蚴?閍rray所占的空间为()A)4个字节B)5个字节C)6个字节D)7个字节参考答案:1.D2.A3.A4.B5.D6.B7.A8.C9.C 10.C。
国家计算机2级等级考试-C语言上机编程100题库-必备 (1).
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++; }*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp 所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;bre ak;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t’: pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v’: pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;b reak;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
计算机二级c语言自增-自减习题
自增自减1、下列关于单目运算符++、--的叙述中正确的是A)它们的运算对象可以是任何变量和常量B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量C)它们的运算对象可以是int型变量,但不能是double型变量和float 型变量D)它们的运算对象可以是char型变量、int型变量和float型变量2、设有以下定义int a=0;double b=;char c=’A’;)#define d 2则下面语句中错误的是A) a++; B) b++; C) c++; D) d++;3、以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D)k+=n+14、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D)10,25、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(6、以下程序的输出结果是。
#includemain(){int i=010 ,j = 10;printf("%d,%d\n",+ +i , j - -); }A) 11,10 B) 9,10 C) 010,9 D) 10,97、有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n);(printf("%d%d\n",n++,++m);}程序运行后的输出结果是A) B)C) D)8、有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;】printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -29、设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句: a*=16+(b++)-(++c);后,a的值是知识点++ -- 只能用于变量,不能用于常量和表达式,如5++,(a+b)++,(-i)++ 都是错误的结合方向:自右向左。
c语言自增自减运算例题
c语言自增自减运算例题摘要:1.C语言自增自减运算符简介2.自增自减运算符的实例分析3.自增自减运算在实际编程中的应用4.总结与展望正文:C语言自增自减运算符简介在C语言中,自增(++)和自减(--)运算符是用于改变变量值的快捷方式。
自增运算符会使变量的值递增1,而自减运算符会使变量的值递减1。
需要注意的是,自增自减运算符可以单独使用,也可以与其他运算符一起使用。
自增自减运算符的实例分析下面我们通过几个实例来分析自增自减运算符的使用:例1:```c#include <stdio.h>int main() {int a = 10;int b = a++;printf("a = %d, b = %d", a, b); // 输出:a = 11, b = 10return 0;}```在这个例子中,变量a的值被自增1,然后赋值给变量b。
需要注意的是,自增运算符在变量使用前执行,所以b的值为a自增前的值。
例2:```c#include <stdio.h>int main() {int a = 10;int b = ++a;printf("a = %d, b = %d", a, b); // 输出:a = 11, b = 11return 0;}```在这个例子中,变量a的值被自增1,然后赋值给变量b。
需要注意的是,自增运算符在变量使用后执行,所以b的值为a自增后的值。
自增自减运算在实际编程中的应用自增自减运算符在实际编程中有很多应用,比如计数器、循环次数的控制等。
下面举一个简单的例子,使用自减运算实现一个求1到100的和的功能:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和为:%d", sum);return 0;}```这个例子中,我们使用自减运算符实现了循环次数的控制,避免了使用额外的变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自增自减
1、下列关于单目运算符++、--的叙述中正确的是
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
2、设有以下定义
int a=0;
double b=1.25;
char c=’A’;
#define d 2
则下面语句中错误的是
A) a++; B) b++; C) c++; D) d++;
3、以下选项中,与k=n++完全等价的表达式是
A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1
4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A) 10,3 B) 9,3 C) 9,2 D)10,2
5、设有 int x=11; 则表达式 (x++ * 1/3) 的值是
A) 3 B) 4 C) 11 D) 12
6、以下程序的输出结果是。
#include
main()
{int i=010 ,j = 10;
printf("%d,%d\n",+ +i , j - -); }
A) 11,10 B) 9,10 C) 010,9 D) 10,9
7、有以下程序
main()
{int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是
A)12353514 B)12353513
C)12343514 D)12343513
8、有以下程序
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是
A) 3 B) 5 C) -1 D) -2
9、设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:
a*=16+(b++)-(++c);后,a的值是
知识点
++ -- 只能用于变量,不能用于常量和表达式,如5++,(a+b)++,(-i)++ 都是错误的
结合方向:自右向左。
-i++ 默认的是i++先结合,等价于 -(i++)
i++ 先用后加当前表达式中使用i原来的值运算,使用完以后再使i自增1,程序中第二次遇到i时就要使用增1以后的值了。
++i 先加后用先使变量i自增1,然后再参加当前表达式的运算,程序中第二次遇到i时也是使用增1以后的值。
答案
1--5、DDADA 6--8、BAD 9、28。