c++题目11
2011年技能考试试卷C语言(真题)

第一部分【程序填空】第一套:题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。
---------------------------------------------------------注意:请勿改动主函数main()中的其他内容。
---------------------------------------------------------#includ e<stdio.h>#includ e<conio.h>voidgcd(inta[],intn,intb[],intc[]){inti,x,y,z;/***********SPACE***********/for(i=0;i<【?】;i++){x=a[i];y=a[i+1];whil e(z=x%y){x=y;y=z;}页脚内容1b[i]=y;/***********SPACE***********/c[i]=a[i]*a[i+1]/【?】;}}intmain(){inta[5]={8,12,5,7,14};intb[4],c[4];inti;gcd(a,5,b,c);for(i=0;i<5;i++)printf("%d\t",a[i]);printf("\n");for(i=0;i<4;i++)printf("%d\t",b[i]);printf("\n");for(i=0;i<4;i++)页脚内容2printf("%d\t",c[i]);printf("\n");getch();return0;}第二套题目:函数reverse()对字符串str进行逆序。
#includ e<stdio.h>#includ e<string.h>#includ e<conio.h>voidreverse(charstr[]){intlen,j;charc;/***********SPACE***********/l en=【?】(str);/***********SPACE***********/for(j=l en-1;【?】;j--){页脚内容3c=str[j];str[j]=str[l en-1-j];str[l en-1-j]=c;}}intmain(){chara[80];printf("Pl easeenterastring:");gets(a);reverse(a);printf("Theinversedstringis:");puts(a);getch();return0;}第三套题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。
C++程序设计第三版(谭浩强)第十一章习题答案

C++程序设计第三版(谭浩强)第十一章习题答案11.1 题#includeusing namespace std;class Student{public:void get_value(){cin>>num>>name>>sex;}void display( ){cout<<"num: "<<num<<endl;cout<<"name: "<<name<<endl;cout<<"sex: "<<sex<<endl;}private :int num;char name[10];char sex;};class Student1: public Student{public:void get_value_1(){get_value();cin>>age>>addr;}void display_1(){ cout<<"age: "<<age<的私有成员,正确。
cout<<"address: "<<addr<的私有成员,正确。
private:int age;char addr[30];};int main(){Student1 stud1;stud1.get_value_1();stud1.display();stud1.display_1();return 0;}11.2 题#includeusing namespace std;class Student{public:void get_value(){cin>>num>>name>>sex;} void display( ){cout<<"num: "<<num<<endl; cout<<"name: "<<name<<endl; cout<<"sex: "<<sex<<endl;} private :int num;char name[10];char sex;};class Student1: private Student {public:void get_value_1(){get_value();cin>>age>>addr;}void display_1() {display();cout<<"age: "<<age<私有成员,正确。
c笔试题目及答案

c笔试题目及答案1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 题目:以下哪个关键字用于定义一个函数?A. classB. functionC. defD. int答案:D3. 题目:C语言中,哪个运算符用于将变量的值增加1?A. +=B. --C. +=D. ++答案:D4. 题目:以下哪个选项是C语言中的合法数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. All of the above答案:D5. 题目:C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A6. 题目:以下哪个选项是C语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. // This is a single line comment/* This is a multi-line comment */D. All of the above答案:D7. 题目:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 题目:以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>#include "stdio.h"D. All of the above答案:A9. 题目:以下哪个选项是C语言中正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. All of the above答案:A10. 题目:C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. reference答案:C。
计算机系C语言编程10题及答案

计算机系C语言编程10题及答案1)/* 输入10个数,分别统计其中正数、负数、零的个数。
*/#include "stdio.h"#define N 10main(){int i,zsum=0,fsum=0,lsum=0;float x;for(i=1;i<=N;i++){printf("请输入第%d个数:",i);scanf("%f",&x);if(x>0)zsum++;else if(x==0)lsum++;elsefsum++;}printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);}2)/* 先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。
(设N为100)*/ #include "stdio.h"#include "stdlib.h"#include "time.h"#define N 100main(){int i,x;randomize();for(i=1;i<=N;i++){x=random(900)+100;printf("%d\t",x);if(x%3==0&&x%5==0&&x%7==0)printf("\n*%d*\n",x);}}3)/* 计算:1/2-2/3+3/4-4/5……,前100项和*/#include "stdio.h"main(){int i,t=1;float sum=0;for(i=1;i<=100;i++){sum=sum+(t*i*1.0)/(i+1);t=-t;}printf("%f",sum);}4)/* 打印出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方之和等于该数本身*/#include "stdio.h"#include "math.h"main(){int i,gw,sw,bw;for(i=100;i<=999;i++)gw=i%10;sw=i/10%10;bw=i/100%10;if(i==pow(gw,3)+pow(sw,3)+pow(bw,3))printf("%d\n",i);}}5)/* 把100~200之间的不能被3整除的数输出。
一级c类考试真题及答案

一级c类考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B2. 若有定义 `int a = 5;`,则表达式 `a++` 的值是多少?A. 4B. 5C. 6D. 无法确定答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. $variable答案:C5. 在C语言中,`printf` 函数用于做什么?A. 读取输入B. 显示输出C. 计算表达式D. 定义变量答案:B6. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D7. 在C语言中,哪个关键字用于循环结构?A. ifB. elseC. whileD. switch答案:C8. 若有定义 `int a = 10;`,则执行 `a -= 3;` 后,变量 `a` 的值是多少?A. 7B. 10C. 13D. 无法确定答案:A9. 在C语言中,哪个函数用于计算数组的长度?A. length()B. sizeof()C. count()D. size()答案:B10. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. +=答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________来定义一个结构体。
答案:struct2. 若有定义 `int a = 3;`,则执行 `a *= 2;` 后,变量 `a` 的值是________。
答案:63. 在C语言中,使用关键字________来声明一个指针。
答案:*4. 在C语言中,使用关键字________来定义一个枚举类型。
CPrimer 第11章泛型算法课后习题答案

第11章-泛型算法1.algorithm头文件定义了一个名为count的函数,其功能类似于find。
这个函数使用一对迭代器和一个值做参数,返回这个值出现的次数的统计结果。
编写程序读取一系列int型数据,并将它们存储到vector对象中然后统计某个指定的值出现了多少次。
// 11.17_11.1_int_to_vector_count.cpp : 定义控制台应用程序的入口点。
//#include"stdafx.h"#include<vector>#include<iostream>#include<algorithm>using namespace std;int _tmain(int argc, _TCHAR* argv[]){cout << "\tInput some int numbers ( ctrl + z to end):\n\t ";vector<int> iVec;int iVal;while ( cin >> iVal )iVec.push_back( iVal );cout << "\n\tInput a num to search in the iVec: ";cin.clear();cin >> iVal;int iCnt = 0;if ( iCnt = count( iVec.begin(), iVec.end(), iVal )){cout << "\n\tThe value " << iVal << " occurs " << iCnt << " times." << endl;}system("pause");return 0;}2.重复前面的程序,但是,将读入的值存储到一个string类型的list对象中。
C语言程序设计50例(经典收藏)

C语⾔程序设计50例(经典收藏)本篇⽂章是对C语⾔程序设计的50个⼩案例进⾏了详细的分析介绍,需要的朋友参考下【程序1】题⽬:有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少?1.程序分析:可填在百位、⼗位、个位的数字都是1、2、3、4。
组成所有的排列后再去 掉不满⾜条件的排列。
2.程序源代码:复制代码代码如下:#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}==============================================================【程序2】题⽬:企业发放的奖⾦根据利润提成。
利润(I)低于或等于10万元时,奖⾦可提10%;利润⾼ 于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的部分,可可提 成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于 40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,可提成1.5%,⾼于 100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润I,求应发放奖⾦总数?1.程序分析:请利⽤数轴来分界,定位。
注意定义时需把奖⾦定义成长整型。
2.程序源代码:复制代码代码如下:#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题⽬:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开⽅,再将该数加上268后再开⽅,如果开⽅后 的结果满⾜如下条件,即是结果。
面试注意事项单选题

面试注意事项单选题(一)题目1。
1. 面试时,以下哪种穿着比较合适?()A. 奇装异服,展现个性。
B. 过于休闲,如短裤拖鞋。
C. 简洁大方的正装。
D. 浓妆艳抹,造型夸张。
答案:C。
解析:面试是一个比较正式的场合。
A选项奇装异服虽然展现个性,但可能给面试官留下不稳重、不专业的印象;B选项过于休闲的着装,如短裤拖鞋,显得对面试不够尊重;D选项浓妆艳抹和造型夸张也不符合面试的正式氛围。
而简洁大方的正装能够体现求职者的专业、尊重和对这份工作的重视。
(二)题目2。
2. 面试前应该提前多久到达面试地点?()A. 正好在面试时间到达。
B. 提前10 - 15分钟。
C. 提前半小时以上。
D. 迟到几分钟也没关系。
答案:B。
解析:A选项正好在面试时间到达可能会因为一些突发情况(如找不到准确位置等)而导致迟到;C选项提前半小时以上可能会给面试官带来不便,例如他们可能还没有准备好接待;D选项迟到是非常不礼貌的行为,会给面试官留下负面印象。
提前10 - 15分钟到达,可以让求职者有时间调整状态,同时也不会给面试官造成困扰。
(三)题目3。
3. 在面试中,与面试官交流时,眼神应该()A. 四处游离,避免直视。
B. 一直盯着面试官的眼睛看,毫不回避。
C. 自然地与面试官有适当的眼神接触。
D. 低头看自己的资料,很少看面试官。
答案:C。
解析:A选项四处游离会让面试官觉得求职者不自信或者不诚实;B选项一直盯着面试官眼睛看毫不回避会让面试官和求职者都感到压力,而且可能显得过于强势;D 选项低头看自己资料很少看面试官,会给人一种不尊重面试官、对面试不重视的感觉。
自然地与面试官有适当的眼神接触,既能体现自信,又能表现出对面试官的尊重和关注。
(四)题目4。
4. 面试过程中,手机应该()A. 放在身边,随时查看消息。
B. 调至静音或关机状态。
C. 正常铃声,有电话就接。
D. 放在桌上,显示自己业务繁忙。
解析:A选项在面试中随时查看手机消息是非常不礼貌的行为,会让面试官觉得求职者不重视面试;C选项正常铃声并且有电话就接,会严重干扰面试的进行;D选项放在桌上显示自己业务繁忙,也是不合适的,面试需要专注于与面试官的交流,手机调至静音或关机状态是基本的面试礼仪。
C练习题库及答案

C选择题部分〔共200题〕1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在以下选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、假设要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、假设x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____. A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、假设已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、假设有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、假设已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、假设d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、假设有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、假设有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C语言中,以下表达不正确的选项是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、以下程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,假设从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,假设从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,假设从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行以下程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,假设从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,假设从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 20 56、以下程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、以下程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void 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) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、假设执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、假设执行下面的程序从键盘上输入5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,假设从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行以下程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、假设运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了防止嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系. A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的选项是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
c语言题库(60道题)

第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。
苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。
某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。
要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。
c 11语言参考答案

c 11语言参考答案C++11语言参考答案C++11是C++语言的一个重要版本,它引入了许多新的特性和改进,使得程序员能够更方便地编写高效、可读性强的代码。
本文将为大家提供一些关于C++11的参考答案,以帮助读者更好地理解和应用这些新特性。
1. auto关键字的作用是什么?如何使用它?答:auto关键字用于自动推导变量的类型。
在C++11之前,我们必须显式地指定变量的类型,但使用auto关键字后,编译器会根据变量的初始值自动推导出其类型。
例如:auto num = 10; // num的类型将被推导为intauto name = "John"; // name的类型将被推导为const char*2. 列出至少三个C++11引入的容器类,并简要描述它们的特点。
答:C++11引入了三个新的容器类,它们分别是unordered_map、unordered_set和array。
unordered_map是一个无序的关联容器,它使用哈希表实现,能够提供O(1)的插入、查找和删除操作。
unordered_set也是一个无序的关联容器,它使用哈希表实现,能够提供O(1)的插入、查找和删除操作。
array是一个固定大小的数组,它的大小在编译时确定,并且不能改变。
与传统的C数组相比,array提供了更多的安全性和便利性,例如可以使用size()函数获取数组的大小。
3. 什么是lambda表达式?如何使用它?答:lambda表达式是C++11引入的一种匿名函数,它能够在需要函数对象的地方使用,并且比传统的函数对象更简洁。
lambda表达式的基本语法如下:[捕获列表](参数列表) mutable(可选) 异常声明(可选) -> 返回类型 {函数体}捕获列表用于指定lambda表达式中要捕获的变量,参数列表用于指定函数的参数,函数体用于指定函数的实现。
例如,下面的lambda表达式将两个整数相加并返回结果:auto add = [](int a, int b) { return a + b; };4. C++11引入的智能指针有哪些?它们的作用是什么?答:C++11引入了三种智能指针,它们分别是shared_ptr、unique_ptr和weak_ptr。
C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案:c语言笔试题目及答案C 笔试题目汇总篇11.求下面函数的返回值( 微软)int func(x){int countx =0;while(x){countx ++;x = x&(x-1);}return countx;}假定x = 9999。
答案:8思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。
申明一个引用的时候,切记要对其进行初始化。
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
不能建立数组的引用。
3. 将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
而引用更容易使用,更清晰。
4. 在什么时候需要使用“常引用”?如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
C++第11章习题解答

第十一章标准模板库(STL)习题一. 基本概念与基础知识自测题11.1填空题11.1.1 STL大量使用继承和虚函数是(1)(填对或错)。
因为(2)。
答案:(1)错(2)它使用的是模板技术,追求的是运行的效率,避免了虚函数的开销11.1.2 有两种STL容器:(1)和(2)。
STL不用new和delete,而用(3)实现各种控制内存分配和释放的方法。
答案:(1)第一类容器(2)近容器(3)分配子(allocator)11.1.3 五种主要迭代子类型为(1)、(2)、(3)、(4)和(5)。
STL算法用(6)间接操作容器元素。
sort算法要求用(7)迭代子。
答案:(1)输入(InputIterator)(2)输出(OutputIterator)(3)正向(ForwardIterator)(4)双向(BidirectionalIterator)(5)随机访问(RandomAccessIterator)(6)迭代子(7)随机访问(RandomAccessIterator)11.1.4 三种STL容器适配器是(1)、(2)和(3)。
答案:(1)stack(栈)(2)queue(队列)(3)priority_queue(优先级队列)11.1.5 成员函数end()得到容器(1)的位置,而rend得到容器(2)的位置。
算法通常返回(3)。
答案:(1)最后一个元素的后继位置(2)引用容器第一个元素的前导位置。
实际上这是该容器前后反转之后的end()(3)迭代子11.1.6 适配器是(1),它依附于一个(2)容器上,它没有自己的(3)函数和(4)函数,而借用其实现类的对应函数。
答案:(1)不独立的(2)顺序(3)构造函数(4)析构函数11.1.7 返回布尔值的函数对象称为(1),默认的是(2)操作符。
答案:(1)谓词(predicate)(2)小于比较操作符“<”11.1.8C++标准库中给出的泛型算法包括(1)种算法。
c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案1. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪种数据类型是用于存储字符的?A. intB. charC. floatD. double答案:B3. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. forD. switch答案:D4. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D5. 如何定义一个具有10个元素的整型数组?A. int array[10];B. int array(10);C. int array[10] = {0};D. int array = 10;答案:A6. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个函数用于计算数组中元素的数量?A. sizeofB. lengthC. countD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 在C语言中,以下哪个关键字用于声明一个全局变量?A. externB. staticC. globalD. local答案:A10. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. openC. readD. write答案:A11. 在C语言中,以下哪个函数用于关闭一个文件?A. fcloseB. closeC. endD. finish答案:A12. 在C语言中,以下哪个函数用于读取一个字符?A. getcharB. getcC. fgetcD. scanf答案:A13. 在C语言中,以下哪个函数用于写入一个字符?A. putcharB. putcC. fputcD. printf答案:A14. 在C语言中,以下哪个函数用于格式化输出?A. printfB. sprintfC. fprintfD. all of the above答案:D15. 在C语言中,以下哪个函数用于格式化输入?A. scanfB. sscanfC. fscanfD. all of the above答案:D16. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. count答案:A17. 在C语言中,以下哪个函数用于连接两个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:A18. 在C语言中,以下哪个函数用于复制一个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:C19. 在C语言中,以下哪个函数用于比较两个字符串?A. strcmpB. strcpyC. strcatD. strncpy答案:A20. 在C语言中,以下哪个函数用于查找字符串中子串的位置?A. strstrB. strchrC. strrchrD. strcspn答案:A。
东北大学C语言考试题库及答案

东北大学C语言考试题库及答案————————————————————————————————作者:————————————————————————————————日期:题目:根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。
5 题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch 语句编写)6 题目:编写程序将用户输入的字母进行大小写转换。
7 题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出—1。
8 题目:输入一个整数,判断它是奇数还是偶数并输出。
9 题目:从键盘输入二个整数a、b,将其按大到小排列.10 题目:找出不超过1000的十位数字为1,个位数字为3或7的所有数。
例如:13、17、113、317等。
11 题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;(4)不能被3,5,7任一个整除.12 题目:输入一个5位的正整数,判定该正整数是否为一个回文数。
(所谓回文素数是指正读和反读都相同的数,例如12321)。
13 题目:假设变量a、b、c为整数,从键盘读入a、b、c的值,当a为1时显示b与c之和,a为2时显示b与c之差,a为3时显示b与c之积,a为4时显示b/c之商,其他数值不做任何操作.14 题目:输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示(例如:输入358时,显示358 is 100 to 999)。
15 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。
16 题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般)。
17 题目:计算二次方程的根。
c++11 易错考题

c++11 易错考题以下是一些常见的 C++11 易错考题:auto 关键字问题描述:auto 关键字在 C++11 中引入了类型推导,它可以根据初始化表达式自动推导出变量的类型。
但是,auto 的使用有时可能会引发一些误解。
例子:cpp`auto a = 5; // a 的类型是 intauto b = 3.14; // b 的类型是 double`常见错误:不正确地使用 auto 可能导致不期望的类型推导。
例如,当与容器或自定义类型一起使用时,可能会得到意外的结果。
范围 for 循环问题描述:C++11 引入了范围 for 循环,允许程序员遍历容器和数组。
但是,如果不小心,可能会在语法上出错。
例子:cpp`std::vector<int> vec = {1, 2, 3, 4, 5};for (int num : vec) { // 正确的范围 for 循环`// do something with num}`常见错误:在声明变量时重复使用变量名或在范围 for 循环中直接修改迭代器。
lambda 表达式问题描述:C++11 引入了 lambda 表达式,允许创建匿名函数对象。
但是,如果不小心,可能会在语法上出错。
例子:cpp`auto add = [](int a, int b) { return a + b; }; // 正确的 lambda 表达式` 常见错误:忘记捕获变量、捕获错误的变量或捕获所有变量等。
nullptr 与 Null问题描述:C++11 引入了 nullptr 作为指针的占位符,以替代 C 风格的 NULL。
但是,如果不小心,可能会在语法上出错。
例子:cpp`int* ptr = nullptr; // 正确的使用 nullptr`常见错误:使用 NULL 而非 nullptr,或者在应该使用 nullptr 的地方使用其他值。
智能指针问题描述:C++11 引入了智能指针,如 std::unique_ptr 和 std::shared_ptr,以帮助管理动态分配的内存。
c语言2011考试题及答案

c语言2011考试题及答案一、单项选择题(每题2分,共20分)1. 下列选项中,哪个是C语言中的合法变量名?A. 123abcB. _intC. intD. float答案:B2. C语言中,哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A3. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. case答案:D6. C语言中,用于定义一个数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array;答案:A7. C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B8. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C9. 下列哪个选项不是C语言中的预处理命令?A. #includeB. #defineC. #ifD. switch答案:D10. C语言中,哪个函数用于输出格式化的字符串?A. printfB. scanfC. fprintfD. sprintf答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:____。
答案:int variable_name;2. C语言中,用于声明一个函数的关键字是:____。
答案:int3. 在C语言中,用于表示逻辑“与”操作的运算符是:____。
答案:&&4. C语言中,用于表示逻辑“或”操作的运算符是:____。
答案:||5. 在C语言中,用于声明一个字符数组的语法是:____。
11级C++综合习题(含答案)

一、单项选择题1.函数重载是指(A)。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同2.下列对引用的陈述中不正确的是(C)。
A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间3.关于封装,下列说法中不正确的是(A)。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的4.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为(C)。
A.px(a)B.px[a]C.px->aD.px.a5.假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(A)。
A.int AA::a()B.int AA:a()C.AA::a()D.AA::int a()6.类的构造函数是在定义该类的一个(C)时被自动调用执行的。
A.成员函数B.数据成员C.对象D.友元函数7.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是(C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针8.对于类定义class A{public:virtual void func1(){}void func2(){}};class B:public A{public:void func1(){cout<<〃class B func1〃<<end1;}virtual void func2(){cout<<〃class B func2〃<<end1;}};下面正确的叙述是(C)A、A::func2()和B::func1()都是虚函数B、A::func2()和B::func1()都不是虚函数C、B::func1()是虚函数,而A::func2()不是虚函数D、B::func1()不是虚函数,而A::func2()是虚函数9.对于int*pa[5];的描述,(D)是正确的。
蓝桥等考C++11级考题

蓝桥等级考试C++组十一级真题单项选择题1、C++ L11 {15分}下面对二维数组的定义和初始化语句,正确的是{ }。
A int a[2][3] = { {1, 2, 3}, {4, 5,6} };B int a[2][3] = { {1, 2}, {3, 4},{5, 6} };C int a[][] = { {1, 2, 3], {4, 5, 6} };D int a[][] = { {1, 2}, {3, 4}, {5,6} };2、C++ L11 (15分)一维数组在内存中是按行、列存储的,二维数组和矩阵的表现形式一致。
已定义二维数组a[4][6]按行优先存储,那么对应知阵的行数和列数是( )。
A 4行6列B 6行4列C 3行5列D 5行3列3、C++L11 (20分)执行以下程序后,a[2][2]的值是( ) 。
int a[3][3];for (int i = 0; i < 3; i++)for (int j = 0; j < 3; j++)if (i == 0 ll j == 0) a[i][j] = 1;elsea[i][j] = 2 * a[i - 1][j] + a[i][j - 1];A 1B 5C 7D 17编程题:4、C++ L11矩阵切块(20分)给定一个m*n的整数矩阵和两个整数x、y,输出矩阵的第x列到第y列(含第x、y列)的所有内容。
例如:当m=4,n=5,4*5矩阵为:25 7 15 18 2123 20 20 25 2117 17 17 6 1620 5 24 22 1当x = 2,y =3,输出第2列到第3列的结果为:7 1520 2817 175 24输入第一行输入4个正整数,分别为:m(3<= m<=50),表示矩阵的行数n (3 <= n <=50),表示矩阵的列数x(1<= x<=50),表示切块的起始列号;y (1<= x <= y<=50),表示切块的截止列号。