c++基本语句和一维数组测试题

合集下载

c语言测试题目及答案

c语言测试题目及答案

c语言测试题目及答案一、选择题(每题2分,共20分)1. 下列哪个关键字不是C语言的控制语句?A. ifB. switchC. whileD. loop答案:D2. C语言中,一个整型变量int占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C3. 在C语言中,以下哪个运算符用于计算两个数的乘方?A. *B. /C. ^D. %答案:C4. 下列哪个函数用于计算一个数的绝对值?A. abs()B. max()C. min()D. pow()答案:A5. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. {"Hello World"}D. ["Hello World"]答案:A6. 在C语言中,以下哪个是正确的数组声明?A. int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};D. int array[10] = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;答案:B7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction(int x, int y);B. int myFunction();C. void myFunction(int x, int y) {}D. int myFunction(int x, int y);答案:A8. 在C语言中,以下哪个是正确的递归函数调用?A. func(5);B. func(func(5));C. func(func(5, 3));D. func(5, 3);答案:B9. 下列哪个是C语言中合法的变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D10. 在C语言中,以下哪个是正确的结构体声明?A. struct Person { int age; char name[50]; };B. struct { int age; char name[50]; };C. Person { int age; char name[50]; };D. Person struct { int age; char name[50]; };答案:A二、填空题(每空2分,共20分)1. C语言中,用于定义一个函数的关键字是________。

c语言数组试题及答案

c语言数组试题及答案

c语言数组试题及答案1. 请编写一个程序,要求用户输入10个整数,然后将其存储在一个数组中,并输出这个数组的内容。

答案:```c#include <stdio.h>int main() {int numbers[10];int i;printf("请输入10个整数:\n");for (i = 0; i < 10; i++) {scanf("%d", &numbers[i]);}printf("数组内容为:\n");for (i = 0; i < 10; i++) {printf("%d ", numbers[i]);}return 0;}```2. 请编写一个程序,要求用户输入一个整数n(n>0),然后分别输入n个整数存储在一个数组中,计算并输出这个数组中所有元素的和。

答案:```c#include <stdio.h>int main() {int n;int numbers[100];int sum = 0;int i;printf("请输入整数n:\n");scanf("%d", &n);printf("请输入%d个整数:\n", n);for (i = 0; i < n; i++) {scanf("%d", &numbers[i]);sum += numbers[i];}printf("数组元素之和为:%d\n", sum);return 0;}```3. 请编写一个程序,要求用户输入一个整数n(n>1),然后分别输入n个整数存储在一个数组中,计算并输出这个数组中最大和最小的元素。

答案:```c#include <stdio.h>int main() {int n;int numbers[100];int max, min;int i;printf("请输入整数n:\n");scanf("%d", &n);printf("请输入%d个整数:\n", n);for (i = 0; i < n; i++) {scanf("%d", &numbers[i]);}max = numbers[0];min = numbers[0];for (i = 1; i < n; i++) {if (numbers[i] > max) {max = numbers[i];}if (numbers[i] < min) {min = numbers[i];}}printf("数组中的最大元素为:%d\n", max);printf("数组中的最小元素为:%d\n", min);return 0;}```4. 请编写一个程序,要求用户输入两个整数m和n(1<=m<=n<=100),然后生成并输出m到n之间(包含m和n)的所有整数。

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)

C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#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、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#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) 不确定的值9、以下程序的输出结果是________.#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 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#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);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#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,316、下面程序的输出结果是_______.#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,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#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) 1027、执行下面程序后,运行结果是________.#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=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#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) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#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!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#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) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#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) 2034、下列程序的执行结果是_________.#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,135、能够完成如下函数计算的程序段是______.┌-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;36、以下程序的执行结果是________.#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) secondthird37、以下程序的执行结果是________.#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) 2538、下列程序执行后的输出结果是________.#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) 出错信息39、有如下程序#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=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#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 041、假定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的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.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) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#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) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#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,147、执行下列程序后的输出结果是_______.#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) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#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) 1050、执行下面程序的输出结果是________.#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) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#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,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.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,2058、下面程序的运行结果是________.#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) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

C语言实验__一维数组

C语言实验__一维数组

实验6 一维数组实验要求:使用Visual C++ 6.0开发环境,完成以下习题。

1. (此题可不使用数组)输出1~100之间的不能被7整除的数。

(要求使用continue语句,如果其能被7整除则continue)。

源程序保存为6-1.c。

运行效果截图保存为6-1p.jpg。

2. 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。

源程序保存为6-2.c。

运行效果截图保存为6-2p.jpg。

3. 定义一个100个元素的数组,依次赋值为1 ~ 100。

先输出其中能被3整除的数。

再输出其中能被5整除的数。

(注意数组的下标是从0开始。

)源程序保存为6-3.c。

运行效果截图保存为6-3p.jpg。

4. 让用户输入学生的人数n,然后输入这n个学生的语文成绩,保存在数组中。

然后分别计算输出:(1)统计语文成绩平均分。

(2)不及格的学生序号及成绩、并统计不及格人数。

(3)最高分的成绩及最高分的学生的序号。

源程序保存为6-4.c。

运行效果截图保存为6-4p.jpg。

5. 定义一个数组A存放6个学生的高数成绩,定义一个数组B存放这6个学生的英语成绩, 再定义一个数组C存放这6个学生的C++成绩。

在输入时,要求逐个学生的三门课成绩输入(即先输入第1个学生的三门课成绩,再输入第2个学生的三门课成绩,以此类推)。

求这6个同学三科的总分存放在数组D中,并输出。

源程序保存为6-5.c。

运行效果截图保存为6-5p.jpg。

6. 编程实现:简单版成绩管理系统1。

程序首先显示菜单,让用户选择1则添加一个学生的的记录,选择2则查看一个学生的记录,选择3则修改一个学生的记录,选择4则浏览所有学生记录。

每个学生记录由其学号、高数成绩、英语成绩、C++成绩组成。

(提示:定义一个100个元素的数组,存放学生的学号;定义一个100个元素的数组存放高数成绩,定义一个100个元素的数组存放英语成绩;定义一个100个元素的数组存放C++成绩;定义一个变量记录当前已经总共添加了多少个学生)当用户选择1之后,让用户输入要添加的学生的学号、高数成绩、英语成绩、C++成绩。

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案C程序设计(数组)习题与答案数组是C语言中常用的数据结构之一,它可以存储多个相同类型的元素。

掌握数组的使用对于C程序设计至关重要,下面将为大家介绍一些关于C数组的习题及其答案。

1. 习题一:计算数组元素的和题目描述:编写一个程序,计算给定数组中所有元素的和,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含5个元素的整型数组int sum = 0; // 用于存储和的变量// 遍历数组,累加每个元素的值for (int i = 0; i < 5; i++) {sum += arr[i];}printf("数组元素的和为:%d\n", sum);return 0;}```2. 习题二:查找数组中的最大值题目描述:编写一个程序,找出给定整型数组中的最大值,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[7] = {4, 7, 2, 9, 1, 5, 8}; // 定义一个包含7个元素的整型数组int max = arr[0]; // 假设第一个元素为最大值// 遍历数组,比较每个元素的值与当前最大值的关系for (int i = 1; i < 7; i++) {if (arr[i] > max) {max = arr[i];}}printf("数组中的最大值为:%d\n", max);return 0;}```3. 习题三:查找数组中的特定元素题目描述:编写一个程序,在给定整型数组中查找是否存在指定元素,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[6] = {3, 6, 9, 2, 5, 8}; // 定义一个包含6个元素的整型数组 int target = 2; // 指定要查找的元素int found = 0; // 用于标记是否找到目标元素的变量// 遍历数组,比较每个元素的值与目标值的关系for (int i = 0; i < 6; i++) {if (arr[i] == target) {found = 1;break;}}if (found) {printf("数组中存在目标元素:%d\n", target);} else {printf("数组中不存在目标元素:%d\n", target);}return 0;}```4. 习题四:数组元素逆序排列题目描述:编写一个程序,将给定整型数组的元素逆序排列,并输出结果。

c++基本语句和一维数组测试题

c++基本语句和一维数组测试题

C++阶段测试(三种基本结构+一维数组)班级姓名一、单项选择题(共15题,每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。

A.汇编语言B. C++C.FortranD.Basic⒉1TB代表的字节数是( )。

A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。

A.00101000B.001010100C.01000101D.001110014.下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。

A.296B.133C.256D.1995.要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。

#include <iostream> using namespace std; int main(){int n;float s; s = 1.0;for(n = 10; n > 1; n--) s = s + 1 / n;cout << s << endl; return 0;}程序运行后输出结果错误,导致错误结果的程序行是( )。

A.s = 1.0;B.for(n = 10; n > 1; n--)C.s = s + 1 / n;D.cout << s << endl;6设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

A.x = (x * 100) + 0.5 / 100.0;B.x = (x * 100 + 0.5) / 100.0;C.x = (int)(x * 100 + 0.5)/100.0;D.x = (x / 100 + 0.5) * 100.0;7.有以下程序#include <iostream> using namespace std; int main(){int s, a, n;s = 0;a = 1;cin >> n; do{s += 1;a -= 2;}while(a != n); cout << s << endl; return 0;}若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

C语言 第七章 数组期末测试习题与答案

C语言 第七章 数组期末测试习题与答案

C语言第七章数组期末测试习题与答案1、以下对一维整型数组a的正确说明是 ( )。

A.#define SIZE 10int a[SIZE];B.int a(10);C.int n=10,a[n];D.int n; scanf(“%d”,&n); int a[n];参考答案:A2、以下能对一维数组a进行正确初始化的语句是 ( )。

A.int a[10]={ };B.int a[10]={10*1};C.int a[10]=(0,0,0,0,0);D.int a[ ]={0};参考答案:B3、不是给数组的第一个元素赋值的语句是 ( )。

A.a[1]=1;B.int a[2]={1,0};C.int a[2];scanf (“%d”,&a[0]);D.int a[2]={1};参考答案:A4、下面程序的运行结果是 ( )。

main(){int a[6],i;for(i=1;i<6;i++){ a[i]=6*(i-2+4*(i>3))%5;printf("%2d",a[i]);}}A.-1 0 4 0 3B.-1 0 1 4 3C.-1 0 1 4 2D.-1 0 1 1 2参考答案:D5、下列定义正确的是 ( )。

A.int b[3]={2,5}B.int 4e[4]C. static int a[2]={1,2,3,4,5}D.int a(10)参考答案:A6、设有char str[10],下列语句正确的是 ( )。

A.printf("%s",str);B.scanf("%s",&str);C.printf("%c",str);D.printf("%s",str[0]);参考答案:B7、下列说法正确的是 ( )。

A.在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数B.在C语言中,数组元素的数据类型可以不一致C.在C语言中,数组元素的个数可以不确定,允许随机变动D.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组参考答案:D8、假设array是一个有10个元素的整型数组,则下列写法中正确的是A.array[-1]=0;B.array[0]='a';C.array[10]=0;D.array[0]=0;参考答案:D9、有一数组如下定义:int a[6]={1,2,3,4,5};执行for (i=0; i<6;i++) printf ("%d ",a[i]);后输出的结果是_____( )。

C语言上机模拟试题(1)

C语言上机模拟试题(1)

C语言机试模拟试题一、改错题:(30分)1、求一维数组a中的值为偶数的元素之和。

#include <stdio.h>sum ( int arr[ ],int n ){ int i,s;s = 0;for ( i=0; i<n; i++)if (arr[i] % 2 == 0)/************found************/s=s+i;改为:s = s + arr[i];return (s);}void main(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;/************found************/s = sum( a ,2 ); 改为:s = sum( a ,10 );printf("The result is: %d\n", s);}2、求一维数组a中的值为奇数的元素之和。

#include <conio.h>#include <stdio.h>int sum( int b[ ],int n ){ int i,s = 0;for ( i=0; i<n; i++)if (b[i] % 2 == 1)/************found************/s = s + b[i] 改为:s = s + b[i];return (s);}void main(){ int a[12]={10,4,2,7,3,12,5,34,5,9,21,19},n;/************found************/n = sum(a,2); 改为:n = sum(a,12);printf("The result is :%d\n",n );}3、求二维数组a中的最大值和最小值。

#include <stdio.h>void main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min;//clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=1; j<3; j++)改为:for ( j=0; j<3; j++){ if ( max < a[i][j] )max = a[i][j];/************found************/if (min < a[i][j]) 改为:if (min > a[i][j])min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}4、求一维数组a中的最大元素及其下标。

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

C++阶段测试(三种基本结构+一维数组)班级姓名一、单项选择题(共15题,每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。

A.汇编语言B. C++C.FortranD.Basic⒉1TB代表的字节数是( )。

A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。

A.00101000B.001010100C.01000101D.001110014.下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。

A.296B.133C.256D.1995.要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。

#include <iostream> using namespace std; int main(){int n;float s; s = 1.0;for(n = 10; n > 1; n--) s = s + 1 / n;cout << s << endl; return 0;}程序运行后输出结果错误,导致错误结果的程序行是( )。

A.s = 1.0;B.for(n = 10; n > 1; n--)C.s = s + 1 / n;D.cout << s << endl;6设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

A.x = (x * 100) + 0.5 / 100.0;B.x = (x * 100 + 0.5) / 100.0;C.x = (int)(x * 100 + 0.5)/100.0;D.x = (x / 100 + 0.5) * 100.0;7.有以下程序#include <iostream> using namespace std; int main(){int s, a, n;s = 0;a = 1;cin >> n; do{s += 1;a -= 2;}while(a != n); cout << s << endl; return 0;}若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

A.-1B.-3C.-5D.08.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c>0。

s = a;for(b = 1; b <= c; b++)s += 1;则与上述程序段功能等价的赋值语句是( )。

A. s = a + bB. s = a + cC. s = s + cD. s = b + c9.若有定义: int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。

A. 2.500000B. 2.750000C. 3.500000D. 0.00000010. 在C/C++语言中,逻辑值“真”用( )表示。

A. trueB. 大于0的数C. 非0整数D. 非0的数11. 以下程序段的输出结果是()。

int x=10, y=10;cout<<x--<<", "<<--y<<endl;A.10, 9B.9, 10C. 10, 10D. 9, 912.下列程序中,正确计算1,2,...,100这100个自然数之和sum(初始值为0)的是()A. i = 1;do{sum+= i;i++;}while (i <= 100)B. i = 1;do{sum += i;i++;}while (i >100);C. i = 1;while (i >100){sum +=1 ;i++;}D. i = 1;while (i >= 100){sum += i ;}13. 二进制数11.01在十进制下是()A. 3.25B. 4.125C. 6.25D. 11.12514.在十六进制表示法中,字母A相当于十进制中的()A. 9B. 10C. 15D. 1615. IPv4协议使用32位地址,随着其不断被分配,地址资源日趋枯竭,因此,它正逐渐被使用()位地址的IPv6协议所取代。

A. 40B. 48C. 64D. 128二、问题求解书架上有4本不同的书A、B、C、D。

其中A和B是红皮的,C和D是黑皮的。

把这4本书摆在书架上,满足所有黑皮的书都排在一起的摆法有_________种。

满足A必须比C靠左,所有红皮的书要摆在一起,所有黑皮的书要摆放在一起,共有_________种摆法。

三、阅读程序写结果1.#include <iostream>using namespace std;int main(){int a, b, c, d, ans;cin >> a >> b >> c;d = a- b;a = d + c;ans = a * b;cout << "Ans = " << ans << endl; return 0;}输入:2 3 4输出:2.#include <iostream>#include <string>using namespace std;int main() {string st; //定义一个名叫st的字符串对象int i, len;getline(cin, st);// 接收一个字符串,需要包含//#include<string>len = st.size(); //取st字符串的长度for(i = 0; i < len; i++)if(st[i] >= 'a' && st[i] <= 'z')st[i] = st[i] - 'a' + 'A';cout << st << endl;return 0;}输入:Hello, my name is Lostmonkey.输出:HELLO, MY NAME IS LOSTMONKEY.3.#include <iostream>using namespace std;const int SIZE = 100;int main(){int p[SIZE];int n, tot, i, cn;tot = 0;cin >> n;for(i = 1; i <= n; i++)p[i] = 1;for(i = 2; i <= n; i++){if(p[i] == 1)tot++;cn = i * 2;while(cn <= n){p[cn] = 0;cn += i;}}cout << tot << endl;return 0;}输入:30输出:4.#include <iostream>using namespace std;int main (){int a, b;cin>>a>>bcout<<a<<"+"<<b<<"="<<a+b<<end1; }输入:3 ,5输出:_________5.#include <iostream>using namespace std;int main (){int a,b,u,i,num;cin>>a>>b>>u;num = 0;for (i = a; i <= b ; i++)if((i % u)== 0)num++;cout<<num<<end1;return 0;} 输入:1,100,15输出:________6. #include <iostream>using namespace std;int main (){const int SIZE = 100;int n, f , i, left,right ,middle ,a[SIZE];cin>>n>>ffor(i = 1; i<= n; i++)cin>>a;left = 1;right = n;do {middle = (left + right) /2 ;if (f <= a[middle])right = middle +1;} while (left < right);cout<<left<<end1;return 0;}输入:12 ,172,4,6,9,11,15,17,18,19,20,21,25输出:__________7. #include <iostream>using name space std;int main(){const int SIZE = 100;int height [SIZE], num [SIZE], n , ans ;cin>>n;for(int i = 0 ; i< n ; i++){cin>>height;num = 1;for(int J = 0 ;J<i ;j++){if (( height[J] < height) && (num[J] >= num[ i ])) num = num[J]+1;}}ans = 0;for (int i = 0 ; i < n ; i++) {if (num > ans ) ans = num ;}}输入:6, 2,5,3,11,12,4输出:__ __ ___四、完善程序围绕着山顶有n个洞,一只狐狸和一只兔子各住一个洞。

狐狸总想吃掉兔子。

一天兔子对狐狸说:“你想吃我有一个条件,先把洞从1~n编上号,你从n号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限。

若能找到我,你就可以饱餐一顿。

不过在没有找到我以前不能停下来。

”狐狸满口答应就开始找了,它从早到晚找了1000次洞,累得昏了过去也没有找到兔子。

请问,免子躲在几号洞里?#include <iostream>using namespace std;int a[101]={0};int main(){int n,i,j;cout<<"请输入山顶的动数n:";cin>>n;a[n]=1;j=0;for(i=1;i<=1000;i++){}cout<<"兔子藏在这些洞里是安全的:";for(i=1;i<=n;i++){if(a[i]==0) cout<<i<<" ";}return 0;}。

相关文档
最新文档