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++成绩。

一维数组习题

一维数组习题

10、用插入法对输入的10个整数按由小到大的顺序排列。
main() x[j]=t { int x[10],j,k,l,t,flag; flag=0 for(j=0;j<10;j++) {scanf("%d",&t); x[l+1]=x[l] if(j==0) ; else { for(flag=1,k=0;k<j&&flag;k++) if(x[k]>t) ; if(flag) x[j]=t; else { for(l=j-1;l>=k-1;l--) ; x[k-1]=t; } }} for(j=0;j<10;j++) { printf("%6d",x[j]); if((j+1)%5==0) printf("\n"); } }
j+1 j- ++j n++
12.将两个升序数列归并后仍为升序数列。 main() { int a[10]={1,2,5,8,9,10},an=5; a[j] int b[10]={1,3,4,8,12,18},bn=5; j++ int j,k,l,c[20],max=9999; b[k] a[an+1]=b[bn+1]=max; k++ j=k=l=0; while(a[j]!=max||b[k]!=max) if (a[j]<b[k]) { c[l]= ; l++; ; } else { c[l]= ; l++; ; } for(j=0;j<l;j++) printf("%4d",c[j]); }

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中的最大元素及其下标。

c语言一维数组上机考试题目

c语言一维数组上机考试题目

c语言一维数组上机考试题目
以下是一些关于C语言一维数组的常见上机考试题目:
1. 编写一个程序,输入一个整数n,求出1到n之间所有偶数的和。

2. 编写一个程序,输入一个整数n,求出1到n之间所有数字的阶乘之和。

3. 编写一个程序,输入一个整数n,求出1到n之间所有数字的立方之和。

4. 编写一个程序,输入一个整数n,求出1到n之间所有数字的平方之和。

5. 编写一个程序,输入一个整数n,求出1到n之间所有数字的倒数之和。

6. 编写一个程序,输入一个整数n,求出1到n之间所有数字的绝对值之和。

7. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子之和。

8. 编写一个程序,输入一个整数n,求出1到n之间所有数字的质因子之和。

9. 编写一个程序,输入一个整数n,求出1到n之间所有数字的奇数因子之和。

10. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子个数之和。

以上题目只是示例,实际上关于C语言一维数组的上机考试题目还有很多其他类型。

考生应该掌握一维数组的基本概念和操作,并且能够灵活运用数组来解决问题。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题C语言是一门广泛应用于计算机领域的高级编程语言。

对于学习者来说,掌握C语言编程是一项必修课程。

为此,我们为大家整理了100道C语言编程题,供大家练练手,锻炼编程能力。

以下是题目列表:##### 基础篇1、编写一个C程序,输出“Hello, World!”。

2、编写一个C程序,输入两个数,求和并输出结果。

3、编写一个C程序,输入三个数,求平均值并输出结果。

4、编写一个C程序,输入三个数,比较大小并输出最大值。

5、编写一个C程序,输入一个数,判断奇偶性并输出结果。

6、编写一个C程序,输入一个数,判断是否为质数并输出结果。

7、编写一个C程序,输入一个数,判断是否为闰年并输出结果。

8、编写一个C程序,输入一个字符,判断是否为字母并输出结果。

9、编写一个C程序,输入一个数,判断是否为回文数并输出结果。

10、编写一个C程序,输入一个年份和月份,输出该年该月的天数。

##### 数组篇11、编写一个C程序,输入一个整数数组,求所有元素之和并输出结果。

12、编写一个C程序,输入一个数组,找出最大值并输出结果。

13、编写一个C程序,输入一个数组,找出最小值并输出结果。

14、编写一个C程序,输入一个数组,计算平均值并输出结果。

15、编写一个C程序,输入一个数组,判断是否为升序或降序排列并输出结果。

16、编写一个C程序,输入一个数组,将数组元素逆序排列并输出结果。

17、编写一个C程序,输入两个数组,将两个数组合并后按照升序或降序排列并输出结果。

18、编写一个C程序,输入一个数组,输出数组中出现次数最多的元素。

19、编写一个C程序,输入一个数组,删除指定位置上的元素并输出结果。

20、编写一个C程序,输入一个数组和一个数,将该数插入到数组中并输出结果。

##### 字符串篇21、编写一个C程序,输入一个字符串,统计字符串中的字符个数并输出结果。

22、编写一个C程序,输入一个字符串,统计字符串中的单词个数并输出结果。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

2. 定义一个函数,实现字符串的复制。

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

C语言程序设计练习题参考答案第四章(1)一维数组

C语言程序设计练习题参考答案第四章(1)一维数组

C语言程序设计练习题参考答案第四章(1)一维数组C语言程序设计练习题参考答案第四章 (1) 一维数组/* 4.11 fibonacci数列,前15项 1,1,2,3,5,。

*/ #include "stdio.h"void main(){int f[15]={1,1}, i;for(i=2;i<=14;i++) /* 计算 */f[i]=f[i-2]+f[i-1];printf("fibonacci数列,前15项\n"); /* 输出 */for(i=0;i<=14;i++){printf("%5d",f[i]);if((i+1)%5==0)printf("\n");}}/* 4.12 数组元素前移动一个位置 */#include "stdio.h" void main(){int a[10]={0,1,2,3,4,5,6,7,8,9};int i,t;printf("\n移动之前:\n");for(i=0;i<=9;i++)printf("%3d",a[i]);/* 移动 */t=a[0];for(i=0;i<=9;i++)a[i]=a[i+1];a[9]=t;printf("\n移动之后:\n");for(i=0;i<=9;i++)printf("%3d",a[i]);}/* 4.13 有序数列中插入若干个数,仍然保持有序 */#include "stdio.h" void main(){int a[100]={1,4,8,10};int i,k,x,count=4;/* i,k 循环变量, x 输入整数,count 有多少整数*/printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n"); scanf("%d",&x);while(x!=-1){/* 寻找插入位置 */for(i=0;i<count;i++)< p="">/* 找到插入位置 */if(a[i]>=x){/* 移动 */for(k=count;k>i;k--)a[k]=a[k-1];/* 插入 */a[i]=x;break;}}if(i>=count)a[i]=x;count=count+1;printf("\n插入之后的数组为:\n");for(i=0;i<count;i++)< p="">printf("%4d",a[i]);printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n"); scanf("%d",&x);}}/* 4.15 将十进制数转换成二进制数,并按位存放到数组中。

C二级操作题 3 一维数值数组

C二级操作题 3 一维数值数组
if(a[i]< a[p])
/************found************/
p=j;改为p=i;
t=a[p];a[p]=a[j];a[j]=t;
}
}
main()
{int a[N]={9,6,8,3,-1},i,m=5;
printf("排序前的数据:");
for(i=0;i< m;i++) printf("%d",a[i]);printf("\n");
注意:部分源程序存在文件prog.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include < stdlib.h >
#include < stdio.h >
void fun(int a[], int n , int *max, int *d )
注意:部分源程序存在文件prog.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include < stdio.h >
#define N 80
void fun(int *w, int p, int n)
{}
main()
{int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
elseif(m >a[mid])
low=mid+1;
else return(mid);
}
__3_return__(-1);
}
main()
{int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m;

c语言入门100题

c语言入门100题

c语言入门100题C语言是一种广泛应用于计算机编程的高级编程语言,它简洁、高效、灵活,被广泛应用于软件开发、嵌入式系统、游戏开发等领域。

对于初学者来说,掌握C语言的基本语法和常用函数是非常重要的。

下面将介绍一些C语言入门的100道题目,帮助初学者快速入门。

1. 输出"Hello, World!"。

2. 输入两个整数,计算它们的和并输出。

3. 输入一个整数,判断它是否为偶数。

4. 输入一个字符,判断它是否为字母。

5. 输入一个年份,判断它是否为闰年。

6. 输入一个整数,判断它是否为素数。

7. 输入一个字符串,计算它的长度。

8. 输入一个字符串,将其中的大写字母转换为小写字母。

9. 输入一个字符串,将其中的小写字母转换为大写字母。

10. 输入一个字符串,判断它是否为回文串。

11. 输入一个字符串,统计其中的单词个数。

12. 输入一个字符串,将其中的数字字符删除。

13. 输入一个字符串,将其中的空格字符删除。

14. 输入一个字符串,将其中的标点符号删除。

15. 输入一个字符串,将其中的元音字母删除。

16. 输入一个字符串,将其中的辅音字母删除。

17. 输入一个字符串,将其中的大写字母移到字符串的末尾。

18. 输入一个字符串,将其中的小写字母移到字符串的末尾。

19. 输入一个字符串,将其中的数字字符移到字符串的末尾。

20. 输入一个字符串,将其中的空格字符移到字符串的末尾。

21. 输入一个字符串,将其中的标点符号移到字符串的末尾。

22. 输入一个字符串,将其中的元音字母移到字符串的末尾。

23. 输入一个字符串,将其中的辅音字母移到字符串的末尾。

24. 输入一个字符串,将其中的大写字母移到字符串的开头。

25. 输入一个字符串,将其中的小写字母移到字符串的开头。

26. 输入一个字符串,将其中的数字字符移到字符串的开头。

27. 输入一个字符串,将其中的空格字符移到字符串的开头。

28. 输入一个字符串,将其中的标点符号移到字符串的开头。

一维数组试题

一维数组试题

C语言考试试题[一维数组]姓名:学号:成绩:一、填空题:(每题1分,共10分)1、数组是构成的集合。

2、数组元素被顺序连续地存放在内存中,并通过进行访问。

3、数组元素的下标从开始。

长度为n的数组中,最后一个元素下标为。

4、一维数组是最简单的数组,其定义形式是:。

5、一个C字符串是以结束的字符序列。

6、专门用于字符串的输入和输出的函数是。

7、float fv[]={0,4,5,12,-7,56.8,0};数组fv的长度是_________。

8、存储字符串“\0”占用________字节的存储单元。

9.有定义int a[]={4,6,78,3456,98,2,89};该数组元素最大的下标为___________。

二、单项选择题,请将答案写在下列答题卡中(每题2分,共24分 )。

1、以下正确的概念是()A、数组名的规定与变量名不相同。

B、数组名后面的常量表达式用一对圆括号括起来。

C、数组下标的数据类型为整型常量或整型表达式。

D、在C语言中,一个数组的数组下标从1开始。

2、对数组初始化正确的方法是:A、int a(5)={1,2,3,4,5};B、int a[5]={1,2,3,4,5};C、int a[5]={1…5};D、int a[5]={0,1,2,3,4,5};3、若有以下的数组定义:char x[]=”12345”; char y[]={…1‟,‟2‟,‟3‟,‟4‟,‟5‟};则正确的描述是:()A、x数组和y数组长度相同B、x数组长度大于y数组长度C、x数组长度小于y数组长度D、两个数组中存放相同的内容4、以下程序运行时,从键盘输入:AhaMA Aha<回车>,则下面程序的运行结果是()#include <stdio.h>main(){char s[80],c=‟a‟;int m=0; scanf(“%s”,s);while(s[m]!=‟\0‟){ if(s[m]==c) s[m]=s[m]-32;else if(s[m]==c-32) s[m]=s[m]+32;m++;}puts(s);}A、ahAMaB、AhAMaC、AhAMa ahAD、ahAMa ahA5、给出以下定义:char x[]=”abcdefg”; char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟,‟f‟,‟g‟};则正确的叙述为:()A 数组A和数组属于空数组B 数组X和数组Y的长度相同C 数组X的长度大于数组Y的长度D数组X的长度小于数组Y的长度6、下面程序的运行结果是()main(){char a[]=”morning”,t;int m,n=0;for(m=1;m<7;m++)if(a[n]<a[m]) n=m;t=a[n];a[n]=a[7];a[7]=a[n];puts(a);}A、mogninrB、moC、morningD、mornin7、字符数组C在内存中所占字节数是:()char c[]={“language”};A、9B、10C、11D、128、下列程序的输出结果是()main(){int n[2],m,k;for(m=0;m<2;m++) n[m]=m;k=2;for(m=0;m<3;m++) printf(“%d\n”,n[k]);}A、不确定的值B、3C、2D、19、在C语言中引用数组元素时,其数组下标的数据类型允许是()A.整型常量 B.整型表达式C.整型常量或整型表达式 D.任何类型表达式10.定义一个具有8个元素的整型数组,应使用的语句是()A.int a[8]; B.int a[2,4]; C. int a[]; D.int *a[8];11.字符串“w\x53\\\np\103q”长度是()A.7 B.9 C.15 D.1612.已知int cn=20;下列关于数组的定义正确的是()A.int a[cn]; B.char cmt[35.0];C.char nm[8]=”2014高考”;D.int x[31];三、程序分析题,写出下面各程序的输出结果。

基础的c语言程序试题及答案

基础的c语言程序试题及答案

基础的c语言程序试题及答案基础的C语言程序试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除运算。

答案:```c#include <stdio.h>int main() {double num1, num2;char operator;double result;printf("请输入第一个数字:");scanf("%lf", &num1);printf("请输入运算符(+,-,*,/):"); scanf(" %c", &operator);printf("请输入第二个数字:");scanf("%lf", &num2);switch (operator) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {printf("除数不能为0\n");return 1;}break;default:printf("无效的运算符\n");return 1;}printf("%.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);return 0;}```3. 题目:编写一个C语言程序,实现字符串的反转。

C#基本语法练习30题

C#基本语法练习30题

C#基本语法练习1、创建一个包含10个元素的int一维数组,从键盘接收其值;当用户输入非法时,提示重新输入;计算一维数组中的元素平均值,并显示(保留小数点后4位);2、从键盘循环接收字符串,并换行逆序显示;当用户直接回车时,结束;3、从键盘循环接收字符串,计算其中的单词个数,并逐单词逆序显示,假定单词之间以空格为分隔符;4、创建一个包含10个元素的int型一维数组,从键盘接收其值,当用户输入非法时,提示;使用foreach循环语句逐个显示该数组的值;5、从键盘循环接收字符串,判断用户输入,若为5个大写字母,则显示提示信息后退出,否则,重新接收字符串判断;6、使用随机数,填充数组arr,并使用循环语句显示该二维数组的值,同时计算并显示每一行元素的和;假定数组定义如下:int[,] arr=new int[2,3];7、使用随机数填充一个具有10个元素的一维byte数组,并按降序排列显示其值;8、自定义一个包含10个元素的一维int数组,并在声明语句中为其赋值;使用循环语句,随机选取该数组中的5个不重复的数据,拼成字符串(可使用空格将每个元素分隔),并显示;9、从键盘循环接收字符串,判断其是否可以转换成日期,若可以则以长格式显示(“****年**月**日”),若不可以则显示提示信息。

10、随机生成一个60~100之间的整数,判断该值的大小,若在60~75之间,则显示“Ok”,若在76~90之间,则显示“good”,若在91~100之间,则显示“excellent”。

11、随机生成一个100~999之间的整数,将该整数的个位、十位、百位的值相加,显示其值;12、从键盘接收一个int整数,若为负数,则显示negative,若为零,则显示zero,若为正数,则显示positive。

13、创建一个byte类型的数组,数组长度由用户输入指定,并使用随机数填充该数组;14、从键盘接收一个字符串,显示字符串的长度,并查找该串中是否存在字母A(无论大小写),若不存在,则将大写字母A插入到串首位置,并显示新串。

C语言各章节单元测试题及答案——数组

C语言各章节单元测试题及答案——数组

第4章数组4.1 典型考试题剖析4.1.1 选择题【例1】以下能正确定义一维数组的选项是。

A)int num[]; B) #define N 100 int num[N];C)int num[0..100]; D) int N=100; int num[N];✧考点:本例考查一维数组的初始化。

✧分析:此类型为常考题型。

可以用以下方法对一维数组初始化:1.在定义数组时对数组元素赋初值。

如static int a[3]={3,4,12}。

2.可以对部分元素赋初值。

Static int a[10]={1,2,3}。

3.如果对全部元素都赋初值(即提供全部初始数据),可以不指定数组长度。

✧答案:B【例2】以下不能正确定义二维数组的选项是_______。

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}};✧考点:本例考查二维数组的初始化。

✧分析:此类型为常考题型。

可以用以下方法对二维数组初始化:1.分行给二维数组赋初值。

如static inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}。

2.可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。

如static inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。

3.可以对部分元素赋初值。

Static int a[3][4]={{1},{5},{9}},a答案中赋值正确。

4.如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略,b、d答案中赋值正确。

✧答案:C【例3】以下程序的输出结果是_______。

main(){int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}A) 0650 B) 1470 C) 5430 D) 输出值不定✧考点:本例仅仅考查二维数组的初始化。

C语言数组练习题

C语言数组练习题

C程序设计(数组)12.23【题1】在C 语言中,引用数组元素时,其数组下标的数据类型允许是 C 。

A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式【题2】C语言中,数组名代表BA.数组全部元素的值B.数组首地址C.数组第一个元素的值D.数组元素的个数【题3】以下对一维整型数组a 的正确说明是。

A)int a(10); B)int n=10,a[n];C) int n; D)#define SIZE 10 scanf(“%d”,&n);int a[SIZE];int a[n];【题4】合法的数组定义是DA.int a[ ]=”string”;B.int a[5]={0,1,2,3,4,5};C.char a=”string”;D.char a[ ]={0,1,2,3,4,5}; 【题5】若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)DA.输出abcd B.输出aC.输出abcd u u u u u D.编译不通过【题6】有以下语句,则下面是正确的描述Bstatic char x [ ]=“12345”;static char y[ ]={‘1’,‘2’,‘3’,‘4’,‘5’};A.x数组和y数组的长度相同。

AB.x数组长度大于y数组长度。

C.x数组长度小于y数组长度D.x数组等价于y数组。

【题7】若有说明:int a[10];则对a 数组元素的正确引用是 D 。

A)a[10] B)a[3.5] C)a(5) D)a[10-10]【题8】在C 语言中,一维数组的定义方式为:类型说明符数组名C ;A)[整型常量表达式] B)[整型表达式]C)[整型常量] 或[整型表达式] D)[常量]【题9】以下能对一维数组a 进行正确初始化的语句是C。

A)int a[10]=(0,0,0,0,0); B)int a[10]={};C)int a[]={0}; D)int a[10]=”10*1”;【题10】对以下说明语句的正确理解是 B 。

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

C.x = (int)(x * 100 + 0.5)/100.0; D.x = (x / 100 + 0.5) * 100.0;
7.有以下程序
#include <iostream>
do
using namespace std;
{
int main()
s += 1;
{
a -= 2;
int s, a, 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; }
狐狸满口答应就开始找了,它从早到晚找了 1000 次洞,累得昏了过去也没有找到兔子。请问,免子躲在几号 洞里?
#include <iostream>
using namespace std;
int a[101]={0};
int main()
{
int n,i,j; cout<<"请输入山顶的动数 n:";
i++;
sum +=1 ;
}while (i <= 100)
i++;
B. i = 1;
}
do{
D. i = 1;
sum += i;
while (i >= 100){
i++;
sum += i ;
} 13. 二进制数 11.01 在十进制下是( )
A. 3.25 B. 4.125 C. 6.25 D. 11.125
using namespace std;
using namespace std;
const int SIZE = 100;
int main()
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>>b cout<<a<<"+"<<b<<"="<<a+b<<end1; } 输入:3 , 5 输出:_________
A.10, 9 B.9, 10 C. 10, 10 D. 9, 9
12. 下列程序中,正确计算 1,2,...,100 这 100 个自然数之和 sum(初始值为 0)的是()
A. i = 1;
}while (i > 100);
do{
C. i = 1;
sum+= i;
while (i > 100){
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;
s = a;
for(b = 1; b <= c; b++)
s += 1;
则与上述程序段功能等价的赋值语句是( )。
A. s = a + b B. s = a + c C. s = s + c D. s = b + c
9.若有定义: int a=7; float x=2.5,y=4.7; 则表达式 x+a%3*(int)(x+y)%2/4 的值是( )。
足所有黑皮的书都排在一起的摆法有_________种。满足 A 必须比 C 靠左,所有红皮的书要摆在一起,所有黑
皮的书要摆放在一起,共有_________种摆法。
三、阅读程序写结果
1.#include <iostream>
{
using namespace std;
string st; //定义一个名叫 st 的字符串对象
}while(a != n);
s = 0;
cout << s << endl;
a = 1;
return 0;
cin >> n;
}
若要使程序的输出值为 2,则应该从键盘给 n 输入的值是( )。
A.-1 B.-3 C.-5 D.0
8.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值,c>0。
14. 在十六进制表示法中,字母 A 相当于十进制中的()
A. 9 B. 10 C. 15 D. 16
15. IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭,因此,它正逐渐被使用()位地址的 IPv6
协议所取代。
A. 40 B. 48 C. 64 D. 128
二、问题求解
书架上有 4 本不同的书 A、B、C、D。其中 A 和 B 是红皮的,C 和 D 是黑皮的。把这 4 本书摆在书架上,满
d = a- b;
for(i = 0; i < len; i++)
a = d + c;
if(st[i] >= 'a' && st[i] <= 'z')
ans = a * b;
st[i] = st[i] - 'a' + 'A';
cout << "Ans = " << ans << endl;
cout << st << endl;
A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000
10. 在 C/C++语言中,逻辑值“真”用( )表示。
A. true B. 大于 0 的数 C. 非 0 整数 D. 非 0 的数
11. 以下程序段的输出结果是()。
int x=10, y=10;
cout<<x--<<", "<<--y<<endl;
return 0;
return 0;
}
}
输入:2 3 4
输入:Hello, my name is Lostmonkey.
输出:
输出:HELLO, MY NAME IS LOSTMONKEY.
2.#include <iostream>
3.#include <iostream>
#include <string>
#include <iostream>
s = 1.0;
using namespace std;
for(n = 10; n > 1; n--)
int main()
s = s + 1 / n;
{
cout << s << endl;
int n;
return 0;
float s;
}
程序运行后输出结果错误,导致错误结果的程序行是( )。
输入:
2,5,3,11,12,4
6, 四、完善程序
输出:__ __ ___
围绕着山顶有 n 个洞,一只狐狸和一只兔子各住一个洞。狐狸总想吃掉兔子。一天兔子对狐狸说:“你想吃我
有一个条件,先把洞从 1~n 编上号,你从 n 号洞出发,先到 1 号洞找我;第二次隔 1 个洞找我,第三次隔 2
个洞找我,以后依此类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”
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; }
int main()
int i, len;
{
getline(cin, st);// 接 收 一 个 字 符 串 , 需 要 包 含
int a, b, c, d, ans;
//#include<string>
相关文档
最新文档