2011级软件班c++实验题目

合集下载

2011年全国计算机二级C语言考试真题及答案

2011年全国计算机二级C语言考试真题及答案

2011年9月全国计算机等级考试二级笔试试卷一、选择题A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。

下现属于应用软件的是A)统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式R S T(9)有三个关系R 、S 和T 如下:则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是A) if(a) printf("%d\n", x); else printf("%d\n",y);B) if(a==0) printf("%d\n", y); else printf("%d\n",x);C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);D) if(a==0) printf("%d\n", x); else printf("%d\n",y);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)979899(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="123456";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A)654321 B)116611 C)161616 D)123456(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU;STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

2011春江苏省计算机二级VC真题与答案

2011春江苏省计算机二级VC真题与答案

2011春江苏省计算机二级VC++试题第二部分C++语言程序设计选择题(用答题卡答题,答案依次填在2l”30答题号内)21.下列关于switch语句的描述中,不正确的是___(21)___ 。

A.switch语句中的default子句可以没有,也可以有一个B.switch语句中的每一个case子句中必须有一个break语句C.switch语句中的default子句可放在switch语句中的任何位置D.switch语句中的case子句后面的表达式只能是整型、字符或枚举类型常量22.设有说明语句:int a=1,b=2;float x=3,y:4:以下赋值中存在语法错误的是___(22)___A. a=++x;B. y=++b;C. b++=x++;D. b+=x++ + y++23.设有说明语句:char ss[]={“I am a student.”};static float x[20];下列选项中,存在语法错误的是___(23)___A.cout<<ss;B.cin>>ss;C.cout<<x;D.cin>>x;24.设有说明语句:float f(int &a,int b):int x,y;以下对函数f的调用语句中,正确的是(24)A.f(x,y) ;B.f(&x,y);C.f(15,20);D.f(*x,y);25.设有说明:int a=1O,b=15,c;执行语句:c=a ||(a+=b)||(++b);则a、b、c的值分别为___(25)___A.10,15,1B.25,16,1C.10,15,10D.25,15,126.下列关于函数重载的描述中,不正确的是___(26)___ 。

A.两个或两个以上的函数取相同的函数名,但形参的个数不同B.两个或两个以上的函数取相同的函数名,各函数的返回值的类型必须不同C.两个或两个以上的函数取相同的函数名,形参的个数相同但类型不同D.两个或两个以上的函数取相同的函数名,形参的个数不同或类型不同27.在C++的集成环境中,系统约定c++源程序文件缺省的扩展名为___(27)___A.vcB.c++C.vc++D.cpp28.用友元函数进行双目运算符重载时, 该友元函数的参数表中应定义___(28)___个参数A.OB. 1C.2D.329.以下有关抽象类的叙述中,正确的是___(29)___A.抽象类不能含有纯虚函数B.可以定义抽象类的对象C.在抽象类中至少含有一个没有函数体的虚函数D.抽象类不能作为基类派生出新的类30.以下有关this指针的叙述中,不正确的是___(30)___A.当调用对象的非静态成员时,总存在一个this指针B.非静态成员函数调用类中的成员时,可直接使用this指针C.this指针隐含地指向要用到的当前对象D.静态成员函数也存在this指针二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)●基本概念题,共5分1.成员函数实现双目运算符重载时, 该运算符的左操作数是___(1)___ , 其右操作数是___(2)___ 。

实验指导书2011版真题练习+答案

实验指导书2011版真题练习+答案

1、打开proj1.cpp,函数的功能是返回所给字符串中大写字母的个数,删除程序代码里面的下划线,并补充相应的代码。

(注意:不要改动其它代码,不得增行或删行,也不得更改程序的结构)(15分)#include "iostream.h"int fun(char s[]){ int i,c=0;for(i=0;s[i]!='\0';i++)if(____________________) //删除下划线并填入答案c++;return c;}解:s[i]>=’A’&&s[i]<=’Z’2、打开proj1.cpp,程序的功能是统计一个字符串包含英文字母的个数,在两条星线间填入相应的内容,使得程序完成该功能。

(注意:不要改动其它代码,不得更改程序的结构)(15分)#include "iostream.h"#include "stdio.h"void main(){ char text[200]; i nt n=0;cout<<"输入一个字符串:"<<endl;gets(text);//**********两条星线间填入相应的内容*******//**********两条星线间填入相应的内容*******cout<<"英文字母的个数是:"<<n<<endl;}解:int i=0;for(i=0;text[i]!='\0';i++)if(text[i]>='A'&&text[i]<='z')n++;3、打开proj1.cpp,将数组b中的字符串复制到数组a中,在两条星线间填入相应的内容,使得程序完成该功能。

(注意:不要改动其它代码,不得更改程序的结构)(15分)#include "iostream.h"void main(){ char a[100],b[]="Y ou are a student."; int i=0;for( ; a[i]!='\0';i++)//*************两条星线之间填入相应的内容***********//*************两条星线之间填入相应的内容***********cout<<a<<endl;}解:{a[i]=b[i];if(b[i+1]=='\0')break;}a[i+1]='\0';4、打开proj1.cpp 该程序的功能是,求100以内的自然数中被14整除的最大数。

2011级C++面向对象程序设计(A卷)

2011级C++面向对象程序设计(A卷)
第 5 页 共 8 页


姓名 生 信 考 级 班级 系 专业 装 订
学号
线
private: int i; }; int sqr_it(example o) { return o.get_i()*o.get_i(); } int main() { example x(10); cout << x.get_i() << endl; cout << sqr_it(x) << endl; return 0; } 3.写出下列程序的运行结果 #include <iostream> using namespace std; class base1{ public: base1() { cout << "class base1" << endl; } }; class base2{ public: base2() { cout << "class base2" << endl; } }; class level1: public base2, virtual public base1{ public: level1() { cout << "class level1" << endl; } }; class level2: public base2, virtual public base1{ public: level2() { cout << "class level2" << endl; } }; class toplevel: public level1, virtual public level2{ public: toplevel() { cout << "class toplevel" << endl; } }; int main() { toplevel obj; return 0; }

2011全国软件设计开发大赛样题.c.本科---参考答案

2011全国软件设计开发大赛样题.c.本科---参考答案

2011 模拟c语言本科注意:本套模拟题主要模拟命题形式与考核范围。

真实竞赛题的数量、难度可能与此套模拟题有差异。

说明:本试卷包含两种题型:“代码填空”与“程序设计”。

填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不多于一条语句(即不能出现分号)。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

1.代码填空(满分2分)下列代码,把一个2位整数交换十位与个位的位置。

请填写缺失的代码。

例如:当x=95时,返回59。

int switch_num(int x){int a = x / 10;int b = x % 10;return __10*b+a_______________;}2.代码填空(满分3分)下列代码把一个二进制的串转换为整数。

请填写缺少的语句;char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++){n = _____________;}printf("%d\n", n);n = __n*2+(p[i]-'0')________;3.代码填空(满分3分)假设a,b,c是3个互不相等的整数。

下列代码取出它们中居中的数值,记录在m中。

其中的swap()函数可以交换两个变量的值。

请完善代码。

if(a>b) swap(&a, &b);if(b>c) swap(&b, &c);______________________; if(a>b) swap(&a, &b);int m = b;4.代码填空(满分5分)计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域。

2011年计算机二级C语言各类题型试题及答案解析精选汇总

2011年计算机二级C语言各类题型试题及答案解析精选汇总

一、单项选择题【1.1】以下不正确的C语言标识符是____。

A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。

••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodbs tart$it line# pow ••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。

A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。

A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。

A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。

A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。

高教c语言程序设计(2011版)课后编程题答案

高教c语言程序设计(2011版)课后编程题答案

第三章顺序结构3.30 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。

※程序如下※main( ){int hour,minute;hour=560/60;minute=560%60;printf("hour=%d,minute=%d",hour,minute);}3.31 编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。

※程序如下※#include<stdio.h>main( ){int num1,num2,i,j; /* 定义变量 i-商,j-余数 */printf("input num1 and num2:\n");scanf("%d%d",&num1,&num2);i=n}3.32 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

※程序如下※main( ){double a,b,c,average=0;printf("input a,b,c(double):\n");scanf("%lf%lf%lf",&a,&b,&c);average=(a+b+c)/3;average=average*10;average=average+0.5;average=(int)average;average=average/10;printf("average=%lf",average);}3.33 编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中的值给a。

※程序如下※main( ){int a,b,c,t=0;printf("input a b c:\n");scanf("%d%d%d",&a,&b,&c);t=c;c=b;b=a;a=t;printf("a=%d b=%d c=%d",a,b,c);}第四章选择结构4.21 当a>0时,请将以下语句改写成switch语句。

2010 - 2011 学年下学期 C 编程技术试卷 A 及答案

2010 - 2011 学年下学期 C 编程技术试卷 A 及答案

2010 -2011 学年下学期C 编程技术试卷A(本试卷答卷时间为100 分钟,满分100 分)一、判断对错,对的划“ √ ”,错的划“×”(每小题 2 分, 共10 分)1 、在c 语言中,每个程序有且仅有一个main() 函数。

()2 、在c 语言中,一个程序中的全局变量和局部变量可以同名。

()3 、break ;语句只能用在for 、do..while 和while 等三个循环语句中,不能用在其他的语句中。

()4 、若有定义int b[10] ; 则数组b 中有10 个数组元素,且最小下标的数组元素是b[1] 。

()5 、结构体变量所占内存容量为其成员中占内存最大的成员所占的字节数。

()二、填空题(每小空 2 分,共20 分)1 、在C 语言中,程序的运行必定在_______ 函数开始,并在该函数中结束。

2 、若有int x ,则计算表达式x=16/3%3 后x 的值为____________ 。

3 、若有int a=0, b=4, 则表达式a && b 的值为___________ 。

4 、已知数学表达式为,其对应的C 语言表达式是。

5 、在C 语言中,主要有三种控制结构,分别是______ 结构、循环结构和______ 结构。

6 、在C 语言中,用打开文件的函数是_________ 。

7 、C 语言中,调用一个函数时,所用到的参数叫__________ 。

8 、若有以下定义:char a;unsigned int b;float c;double d;则表达式a*b+d-c 值的类型为__________ 。

9 、下列程序输出结果是_______ 。

#include <stdio.h>void main(){ int s=0,k=2;switch(k){ case 1:case 4:case 6:s+=10;case 2:case 3:case 7: s++;case 0:case 5: s+=2; }printf("s=%d\n",s); }三、选择题(每小题 2 分,共20 分)1 .C 语言不能选用的标识符是()。

2011级C++试卷(含答案)

2011级C++试卷(含答案)

《 C++程序设计》试卷一、单项选择题:(每小题2分,共20分)1.以下叙述中错误的是()。

A)用户所定义的C++标识符允许使用关键字B)用户所定义的C++标识符应尽量做到“见名知意”C)用户所定义的C++标识符必须以字符或下划线开头D)用户所定义的C++标识符中,大、小写字符代表不同标识。

2.用C++语言编制的源程序要变为目标程序必须经过()。

A)解释B)汇编C)编辑D)编译3.设有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A) 2.5 B) 2.75 C) 3.5 D) 0.04.以下所列的C++语言常量中,错误的是( )。

A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’5.设有:int a=7,b=5,c=3, d=1; , 则条件表达式a<b?a:c>d?c:d的值为()。

A)7 B) 5 C) 3 D) 16.以下程序的运行结果是()。

int main(){ short b=-1;unsigned short a;a=b;cout<<a;return 0;}A) -32768 B) 32767 C) 65535 D) -17.设有定义语句:int a[ ]={0,2,4,6,8,10},*p=a;,值不等于0的表达式是()。

A)*p++ B)*(p++) C)(*p)++ D)*++p8.以下对C++字符数组的描述错误的是( )。

A) 字符数组可以存放字符串;B) 字符数组的字符串可以整体输入和输出;C) 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;D) 不可以用关系运算符对字符数组中的字符串进行比较;9.下列带有默认参数的函数原型声明中,正确的是()。

A) void f(int a=5 , int b=5, int c);B) void f(int a, int b, int c=5);C) void f(int a , int b=5 , int c );D) float fun(int a=5 ,int b, int c=5);;10.设有下列定义语句:struct node {int x; int y;} n[3]={{1,2},{3,4},{5,6}};值等于4的正确表达式是()。

2011年计算机等级二级C语言章节习题及答案(3)

2011年计算机等级二级C语言章节习题及答案(3)

2011年计算机等级二级C语言章节习题及答案(3)第4章顺序程序设计一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)4.1 若变量已正确说明为float型,要通过语句scanf ("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>C)10.0<回车>22.0 33.0<回车>D)10 22<回车>33<回车>正确答案: B4.2 现有以下程序段#includemain(){ int a,b,c;scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c); }若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是A)a=10]20,b=20]30,c=40B)20,30,40C)a=20,b=30,c=40D)a=10]20,b=30]20,c=40[注]: “]”表示空格,表示回车正确答案: D4.3x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A)INPUT x、y、z;B)scanf("%d%d%d",&x,&y,&z);C)scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);正确答案: B4.4 已有定义int a=-2;和输出语句printf("%8lx",a);以下正确的叙述是A)整型变量的输出形式只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度正确答案: D4.5 下列程序段的输出结果是:int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5正确答案: C4.6 执行下列程序时输入:123<空格>456<空格>789<回车> 输出结果是main(){ char s[100]; int c, i;scanf("%c",&c); scanf("%d",&i); scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456正确答案: D4.7若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf ("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)### a=25,b=13,c=19D)### a=26,b=14,c=19正确答案: C4.8 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A)5B)14C)8D)输出项不合法,无正常输出正确答案: A4.9下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d\n", d*y);}A)3B)3.2C)0D)3.07正确答案: C4.10调用gets和puts函数时,必须包含的头文件是A)stdio.hB)stdlib.hC)defineD)以上都不对正确答案: A4.11 阅读下面程序段#include "stdio.h"main(){ char c;c=(′z′-′a′)/2+′A′;putchar(c);}输出结果为A)MB)NC)OD)Q正确答案: A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。

2011年全国计算机等级二级C语言模拟试题及答案3

2011年全国计算机等级二级C语言模拟试题及答案3

一.单项选择题1.设int x=1,y=1;表达式(!x++ || y--)的值是_________A.0B.1C.2D.-12.main( ){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n”,n);} 此程序的输出结果是______________.A.30B. 24C. 60D. 483.若有如下定义,则__________是对数组元素的正确的引用。

int a[10] , *p ;p=a ; p=a ; p=a ; p=a ;A. *&a[10]B. a[11]C. *(p+10)D. *p4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________A. 0B. 4C. - 4D. 25.以下不能正确定义二维数组的语句是___________A . int a[2][2]={{1},{2}};B. int a[][2]={1,2,3,4};C. int a[2][2]={{1},2,3};D. int a[2][]={{1,2},{3,4}};6.程序段___________的功能是将变量u 、s中的最大值赋给变量t 。

A. if(u>s) t=u;t=s;B. t=u; if(t ) t=s;C. if(u>s) t=s;else t=u;D . t=s; if(u ) t=u;7.下列程序段的输出结果是___________。

void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf("#");elseprintf(“*”) ; }}A. #*#*B . *#*#C. ##D. 以上都不对8.设变量定义为int a[3]={1,4,7},*p=&a[2], 则*p的值是(35)。

A. &a[2]B. 4C. 7D. 19.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

2011级C语言程序设计基础教程课后习题答案

2011级C语言程序设计基础教程课后习题答案

C语言课后习题习题答案详解(11级教材)第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。

1.1.2 一个函数由__函数头__和__函数体__两部分组成。

1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。

1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。

1.1.5 C语言程序的基本单位或者模块是__函数__。

1.1.6 C语言程序的语句结束符是_;___。

1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。

1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。

1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。

且第一个字符必须为字母或下划线。

1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。

1.2 选择题1.2.1 一个C程序的执行是从( A )。

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

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。

A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。

2011年二级C语言上机真题题库100道

2011年二级C语言上机真题题库100道

说明:本题库是针对2008年4月份考试的上机考试题库,本题库共有100套题目(每套题目包含3道题:一道程序填空题、一道程序修改题、一道程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套题目(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪一套题,所以大家只有把全部题库都理解才能万无一失)※※※※※※※※※※※※※※※※※※※※※※※※※第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:,新的数:为739。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % 10;/**********found**********/if(t%2!= 0){ x=x+t*i; i=i*10; }*n =*n /10;}/**********found**********/*n=x;}main(){ unsigned long n=-1;while(n>||n<0){ printf("Please input(0<n<): "); scanf("%ld",&n); }fun(&n);printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。

2011级软件班c++实验题目

2011级软件班c++实验题目

软件学院2010级面向对象程序设计实验手册姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验1 VisualC++6.0开发环境的初步使用(3学时)实验目的(1)熟悉VC6开发环境。

(2)初步掌握简单程序的上机操作基本步骤,熟悉C++单文件程序的输入、编译、链接和运行的过程。

(3)初步掌握菜单栏、工具栏、项目工作区、文件编辑区、输出区和状态栏等的使用。

(4)初步掌握程序的编辑修改和调试。

实验内容使用VC6开发环境来调试以下两个C++源程序。

程序1#include <iostream.h>#include <math.h>void main(){ double a,b,c,s,area;cout <<"a,b,c, =";cin >>a>>b>>c; // 输入三角形的三条边s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c)); // 求三角形的面积cout <<"area="<<area<<endl;}思考并验证:(1)给出两组输入/输出数据a= b= c= area=a= b= c= area=(2)如果去掉第一行和第二行的包含命令,编译时出现什么信息?程序2#include <iostream.h>double max (double x,double y);void main(){ double a,b,c;cout<<"input two numbers: ";cin >>a>>b; // 输入两个实数c=max(a,b); // 求两个实数最大值cout <<"maximum="<<c<<endl;}double max(double x,double y){ if(x>y)return x;elsereturn y;}思考并验证:(1)如果输入a=1.3 b=3.5,输出结果是什么?(2)程序由哪几个函数组成,哪个函数是必须的?姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验2 数据类型、运算符和表达式(3学时)实验目的(1)掌握C++数据类型的概念。

2011年计算机等级二级C语言章节习题及答案(8)

2011年计算机等级二级C语言章节习题及答案(8)

2011年计算机等级二级C语言章节习题及答案(8)2011年计算机等级二级C语言章节习题及答案(8)第9章预处理命令一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)9.1 有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案: A9.2 以下叙述中不正确的是A)预处理命令行都必须以#号开始B)在程序中凡是以#号开始的语句行都是预处理命令行C)宏替换不占用运行时间,只占编译时间D)在以下定义是正确的:#define PI 3.1415926; 正确答案: D9.3 有如下程序:#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i=1;i<=NUM;i++)printf("%d\n",i);}该程序中的for循环执行的次数是A)5B)6C)7D)8正确答案: B9.4 以下程序的运行结果是#define MIN(x,y)(x)<(y)?(x):(y)main(){ int i=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);}A)10B)15C)100D)150考生答案: 正确答案: B9.5 有如下定义#define D 2int x=5;float y=3.83;char c=′D′;则下面选项中错误的是A)x++;B)y++;C)c++;D)D++;正确答案: D9.6 以下程序段的执行结果为#define PLUS(X,Y)X+Y main(){ int x=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}A)SUM=9 B)SUM=12 C)SUM=18 D)SUM=28 正确答案: B9.7 下列程序的输出结果是#include "stdio.h"#defineM(x,y)x%ymain(){ int a,m=12,n=100;a=M(n,m);printf("%d\n",a--);}A)2B)3C)4D)5正确答案: C9.8 阅读下列程序段,则程序的输出结果为#include "stdio.h"#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main(){ int a=5,b=6,c=8,k;k=N(M(a,b),c);printf("%d\n",k);}A)3B)5C)6D)8正确答案: A9.9 已知#define M 2;的宏定义,执行语句k=M*5;后,k的值是A)10B)5C)2D)以上答案都不对正确答案: D9.10 以下关于宏替换叙述中,错误的是A)宏替换占用编译时间B)替换文本中可以包含已定义过的宏名C)宏名可以由+号组成D)宏替换只能是字符替换正确答案: C来源:考试大-计算机二级考二、填空题(请将每一个空的正确答案写在答题卡相应序号后。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件学院2010级面向对象程序设计实验手册姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验1 VisualC++6.0开发环境的初步使用(3学时)实验目的(1)熟悉VC6开发环境。

(2)初步掌握简单程序的上机操作基本步骤,熟悉C++单文件程序的输入、编译、链接和运行的过程。

(3)初步掌握菜单栏、工具栏、项目工作区、文件编辑区、输出区和状态栏等的使用。

(4)初步掌握程序的编辑修改和调试。

实验内容使用VC6开发环境来调试以下两个C++源程序。

程序1#include <iostream.h>#include <math.h>void main(){ double a,b,c,s,area;cout <<"a,b,c, =";cin >>a>>b>>c; // 输入三角形的三条边s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c)); // 求三角形的面积cout <<"area="<<area<<endl;}思考并验证:(1)给出两组输入/输出数据a= b= c= area=a= b= c= area=(2)如果去掉第一行和第二行的包含命令,编译时出现什么信息?程序2#include <iostream.h>double max (double x,double y);void main(){ double a,b,c;cout<<"input two numbers: ";cin >>a>>b; // 输入两个实数c=max(a,b); // 求两个实数最大值cout <<"maximum="<<c<<endl;}double max(double x,double y){ if(x>y)return x;elsereturn y;}思考并验证:(1)如果输入a=1.3 b=3.5,输出结果是什么?(2)程序由哪几个函数组成,哪个函数是必须的?姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验2 数据类型、运算符和表达式(3学时)实验目的(1)掌握C++数据类型的概念。

(2)掌握常量与变量的概念和定义方法。

(3)掌握引用的概念和定义方法。

(4)初步掌握各种运算符的功能,优先级和结合性。

(5)掌握表达式的构成、表达式中运算符的运算顺序和如何求表达式的值。

实验内容假设有变量说明:char c1='a';,c2='B',c3='c';int i1=10,i2=20,i3=30;double d1=0.1,d2=0.2,d3=0.4;先写出下列表达式的值,然后上机验证。

(a)c1 +i2 *i3/i2%i1; (b) il ++ + i2%i3;(c) i2-- * ++i3; (d) i1>i2>i3<d1<d2<d3;(e) (c1=i2*i3)!=(i2%1) (f)d1>d2||(i1=i2)(g) c1>i1 ? i1:c2; (h) 0 ? 1:0 ? 2:0 ? 3:4(i) i1+=i2*=i3; (j) i3=(i1=1,i2--);(k) i1=(c1,c2,c3); (l) !i1&&i2--;在做本实验时可以使用下面程序框架上机验证。

#include <iostream.h>void main(){char c1='a',c2='B',c3='c';int i1 =10,i2=20,i3=30;double d1=0.1,d2=0.2,d3=0.4;x; //填一表达式相应的数据类型说明符x= //填上表达式cout<<"x="<<x<< endl;}思考并验证:(1)利用上面的主函数框架,求出每个表达式的值(2)表达式(i)可以用哪几个简单表达式代替(2)自增和自减运算符位于变量之前和之后有什么不同,以表达式(b)和(c)为例说明姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验3 顺序结构程序设计(6学时)实验目的(1)掌握顺序结构程序的概念。

(2)掌握数据的输入/输出方法。

(3)掌握转义字符和常用格式控制符的使用。

(4)掌握赋值语句和复合语句的使用。

(5)掌握打开旧程序文件和编辑修改程序的方法。

实验内容1、分析下列程序,写出执行结果,然后上机调试程序,比较结果的正确性。

程序1#include <iostream.h>void main(){ cout <<"\x07V isual\tC++\n";cout <<" abc\nde\rf\tg"<<endl;cout <<"h\ti\b\bj k"<<endl<<”\x11\n”;}思考并验证:(1)写出程序的运行结果,解释为什么输出结果中没有“de”(2)程序中用到哪些转义字符,分别表示什么含义?程序2#include <iostream.h>#include <iomanip.h>void main(){int number=100;cout <<"decimal: "<<dec<<number<<endl;cout <<"hexadecimal: "<<hex<<number<<endl;cout <<"octal: "<<oct<<number<<endl;cout <<setfill('*')<<setw(2)<<21<<endlcout <<setw(3)<<21<<endl;cout <<setw(4)<<21<<endlcout <<setfill(' ');}思考并验证:(1)写出程序的运行结果(2)setfill(' ')的作用是什么2、输入一个五位正整数,求出该整数的各位数字并输出。

思考并验证:(1)程序中定义了几个变量,各代表什么值?(2)如何把求出的五个数字转化为相应的数字字符(3)画出程序流程图(4)应该注意哪些编程风格3、从键盘上输入五个整数分别存放到变量a,b,c,d和e中,将五个数按降序排列并且输出。

姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验4 选择结构程序设计(6学时)实验目的(1)掌握选择结构程序的概念。

(2)掌握if语句的执行过程和使用(3)掌握switch语句的执行过程和使用。

(4)掌握使用不同情况的数据测试程序的方法。

实验内容1.输入三个整型数,将三个数作为三角形的边,编程判断能否构成三角形。

思考并验证:(1)给出至少四组测试数据,说明不同的运行结果(2)画出程序流程图。

2、某公司按购买商品的款项数目x给予不同优惠折扣y,给出计算优惠折扣y的公式如下。

编写程序:从键盘上输入x的值,求应付款项s。

y=0x<2503% 250<=x<500 5% 500<=x<1000 8% 1000<=x<2000 10% x>=2000思考并验证:(1)用switch语句实现时,x应作什么转换(2)给出各种情况的输入数据和输出数据(3)在使用switch结构时,应该注意哪些问题?2、输入圆的半径R和运算标志,按照运算标志进行指定运算,给定的运算标志及其表示的运算如下:C (Corcle)——表示计算周长A(Area)——表示计算面积B (Both)——表示周长和面积都计算姓名班级学号文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar文件)实验5 循环结构程序设计(6学时)实验目的(1)掌握循环结构程序的概念。

(2)掌握while语句的执行过程并熟练使用。

(3)掌握do_while语句的执行过程并熟使用。

(4)掌握for语句的执行过程并熟练使用。

(5)掌握多重循环的概念、执行过程并熟练使用。

(6)掌握break语句、continue语句和goto语句的执行程序并熟练使用。

(7)初步学会设置断点调试程序的方法。

(8)初步掌握使用“单步执行”方式跟踪程序程序执行过程的方法。

实验内容1、输入带符号的短整型数,求该数是几位数。

思考并验证:(1)画出程序流程图(2)你的程序中循环的结束条件是什么2、设t=1×2×……×n,编写程序求t>10000时的最小n值。

要求使用while语句实现循环。

思考并验证:(1)写出程序运行结果(2)画出程序流程图(3)如果用for语句,如何实现3、写程序找出100┄1000之间、其各位数之和等于5的整数。

要求使用二重循环编程。

思考并验证:(1)程序的输出结果是什么(2)画出程序流程图4、rand( )函数产生一个在10┄100之间的随机整数,要求用户猜测这个整数。

输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。

如果猜得不对,重新猜这个数,直到猜出这个数为止。

实验指导Visual C++中提供了用于产生随机数的有关整数:rand( ) 产生0—32767 之间的随机整数srand(number) 种子函数。

其中number 是无符号整型参数,称为种子值。

当种子值number 不同时,函数rand()产生的随机数序列也不同。

time(0) 返回用整型数表示的系统当前时间。

在此作为srand函数的参数。

函数srand()和rand( )在头文件stdlib.h中定义函数time(0) 在time.h文件中定义姓名 班级 学号 文件名:班级号_学号_姓名_题号.cpp(多文件应压缩为rar 文件)实验6 函数(6学时) 实验目的(1) 熟悉VC6应用程序的构成。

相关文档
最新文档