文档库 最新最全的文档下载
当前位置:文档库 › C程序设计26道题

C程序设计26道题

C程序设计26道题
C程序设计26道题

1、有1、

2、

3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

编写程序:

#include

void main()

{

int a[]={1,2,3,4};

int i,j,k;

int sum=0;

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

for(k=0;k<4;k++)

if((a[i]!=a[j])&&(a[j]!=a[k])&&(a[k]!=a[i]))

{

sum=sum+1;

printf("%d%d%d\n",a[i],a[j],a[k]);

}

}

printf("共有%d个\n",sum);

}

2、输入某年某月某日,判断这一天是这一年的第几天?

编写程序:

#include

void main()

{

struct Date

{

int year;

int month;

int day;

};

struct Date x;

int a[]={31,28,31,30,31,30,31,31,30,31,30,31};

int i;

int sum=0;

printf("请输入年月日:");

scanf("%d,%d,%d",&x.year,&x.month,&x.day);

for(i=0;i

sum=sum+a[i];

sum=sum+x.day;

if((((x.year%4==0)&&(x.year%100!=0))||(x.year%400==0))&&(x.month>2))

sum=sum+1;

printf("这一天是该年的第%d天\n",sum);

}

3、输出9*9口诀。

编写程序:

#include

void main()

{

int i,j;

for(i=1;i<=9;i++)

for(j=1;j<=i;j++)

{ printf("%d*%d=%d ",j,i,i*j);

if(j==i) printf("\n");

}

}

4、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?编写程序:

#include

void main()

{

int f1=2,f2=2,f3;

int i;

printf("%5d\n%5d\n",f1,f2);

for(i=0;i<30;i++)

{

f3=f1+f2;

printf("%5d\n",f3);

f1=f2;

f2=f3;

}

}

5、判断101-200之间有多少个素数,并输出所有素数。

编写程序:

#include

void main()

{

int i,n,sum=0;

for(n=101;n<200;n++)

{

for(i=2;i

if(n%i==0)break;

if(i==n)

{

sum=sum+1;

printf("%d\n",n);

}

}

printf("共有%d个素数\n",sum);

}

6、输入两个正整数m和n,求其最大公约数和最小公倍数。

编写程序:

#include

void main()

{

int a,b,r,s;

printf("请输入两个数:");

scanf("%d,%d",&a,&b);

r=a%b;

s=a*b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

s=s/b;

printf("这两个数的最大共约数为%d\n",b);

printf("这两个数的最小共倍数为%d\n",s);

}

7、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。编写程序:

#include

#include

void main()

{

char s;

int a,b,c,d;

a=b=c=d=0;

printf("请输入一行字符:");

while((s=getchar())!='\n')

{

if((s>='A'&&s<'Z')||(s>='a'&&s<='z'))

a++;

else if(s==' ')

b++;

else if(s>='0'&&s<='9')

c++;

else

d++;

}

printf("字母的个数为%d个\n空格的个数为%d个\n数字的个数为%d个\n其他为%d个\n",a,b,c,d);

}

8、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

编写程序:

#include

void main()

{

int sum=1;

int i;

for(i=1;i<10;i++)

sum=2*(sum+1);

printf("第一天共摘了%d个\n",sum);

}

9、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。编写程序:

#include

void main()

{

double i,f1=2,f2=1,t;

double sum=0.0;

for(i=0;i<20;i++)

{

sum=sum+f1/f2;

t=f2;

f2=f1;

f1=t+f2;

}

printf("前20项之和为%f\n",sum);

}

10、求1+2!+3!+...+20!的和。

编写程序:

#include

void main()

{

int i;

long sum=0,s=1;

for(i=1;i<=20;i++)

{

s=s*i;

sum=sum+s;

}

printf("sum=%d\n",sum);

}

11、对10个数进行排序(要求从大到小)。编写程序:

#include

void main()

{

int i,j,k,t;

int a[10];

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

{

k=i;

for(j=i+1;j<10;j++)

if(a[j]>a[k])

k=j;

{t=a[k];a[k]=a[i];a[i]=t;}

}

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

12、求一个4*4矩阵主对角线元素之和。

#include

void main()

{

int a[4][4];

int i,j,sum=0;

printf("请输入一个4*4矩阵:");

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

}

for(i=0;i<4;i++)

{

for(j=0;j<4;j++)

if(i=j)

sum=sum+a[i][j];

}

printf("对角线的元素之和为%d\n",sum);

}

13、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。编写程序:

#include

void main()

{

int i,x;

int a[80]={0,1,2,3,4,5,7,8,9};

printf("请输入一个数:");

int n=9;

scanf("%d",&x);

for(i=8;i>=0;i--)

if(a[i]>=x)

a[i+1]=a[i];

else

break;

a[i+1]=x;

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

}

14、将一个数组逆序输出。

#include

void main()

{

int a[10]={0,1,2,3,4,5,6,7,8,9};

int i;

for(i=0;i<10;i++)

a[i]=i;

for(i=9;i>=0;i--)

printf("%d",a[i]);

printf("\n");

}

15、打印出杨辉三角形(要求打印出10行)

编写程序:

#include

void main()

{

int a[10][10];

int i,j;

for(i=0;i<10;i++)

{

a[i][i]=1;

a[i][0]=1;

}

for(i=2;i<10;i++)

for(j=1;j<=i-1;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<10;i++)

{

for(j=0;j<=i;j++)

printf("%5d",a[i][j]);

printf("\n");

}

}

16、输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。编写程序:

#include

void main()

{

int i,j=0,k=0,max,min,t;

int a[10]={1,3,5,7,9,2,4,0,6,8};

max=min=a[0];

for(i=0;i<10;i++)

if(max

{ max=a[i];

j=i;

}

{t=a[j];a[j]=a[0];a[0]=t;}

for(i=0;i<10;i++)

if(min>a[i])

{ min=a[i];

k=i;

}

{t=a[k];a[k]=a[9];a[9]=t;}

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

}

17、写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。编写程序:

#include

#include

void main()

{

int sum=0;

int i;

char a[80];

gets(a);

for(i=0;a[i]!='\0';i++)

sum=sum+1;

printf("长度为%d\n",sum);

}

18、编写主函数,当输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1!+1/3!+...+1/n!

编写程序:

#include

void main()

{

int n;

double sum=0.0;

double os(int n);

double js(int n);

scanf("%d",&n);

if(n%2==0)

printf("%5.2f\n",os(n));

else

printf("%5.2f\n",js(n));

}

double os(int n)

{

int i;

double sum=0.0;

for(i=1;i<=n/2;i++)

sum=sum+1.0/(2*i);

return sum;

}

long jc(int n)

{

int i;

long s=1;

for(i=1;i<=n;i++)

s=s*i;

return s;

}

double js(int n)

{

int i;

long s;

double sum=0.0;

for(i=0;i<((n+1)/2);i++)

{

s=2*i+1;

sum=sum+1.0/jc(s);

}

return sum;

}

19、已知一个学生的信息有两项:学生姓名,学生成绩,从键盘上输入10个学生的信息,然后按学生成绩从小到大排序(排序方法不限),最后输出排序过的学生信息。编写程序:

20、编程计算从N各元素取出M个元素的组合数

编写程序:

21、编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入

要输出数据错误的提示信息。

编写程序:

22、按要求编写程序:

(1)编写求N阶乘的函数JACK()

(2)编写判断素数的函数ISPRIME();

(3)编写主函数,输入一个整数N,调用ISPRIME(),如果是素数就调用JACK ()求出N的阶乘并输出,否则显示该数不是素数。

编写程序:

23、编写程序计算下列序列的值:

要求最后一项小于0.001时、或者当N=20时尚未达到精度要求,则停止计算。

编写程序:

24、利用结构:

struct complx

{ int real;

int im;

};

编写求两个复数之积的函数cmult,并利用该函数求下列复数之积:

⑴(3+4i)×(5+6i) ⑵(10+20i)×(30+40i

编写程序:

25、搜索一个字符在字符串中的位置(例如:’I’在”CHINA”中的位置为3)。如果没有搜索到,则位置为-1。

编写程序:

26、按要求编写程序:

假设学生有:学号,姓名,年龄,四门课成绩,总分等信息请先定义结构体student来描述学生信息。

(1)编写输入n个学生信息存入数组a的函数void shur(studen a[],int n);

(2)编写输出数组a中n个学生的函数void shuc(student a[],int n);

(3) 编写del函数的作用是删除数组a中的指定学生x,n为数组a的学生个数。void

del(student a[],int,n, student x)

(4) 编写查找search函数的作用是查找数组a中的指定学生元素x,n为数组a的学生个数,如果找到,函数返回找到学生的序号,否则函数返回-1, int search(student a[],student x)

(5)编写插入元素insert函数的作用是将指定学生x插入到数组a中的指定位置w, n为数组a 的学生个数。void insert(student a[],int,n,student x,int w)

(6)编写排序sort函数,其功能是,按学号排序,void sort(student a[],int,n)

(7)编写主函数,调用void shur(student a[],int n)输入n个学生信息存入数组,然后调用shur(student a[],int n)输出;实现删除学生信息操作并显示,实现查找学生操作,显示查找结果,实现插入学生操作,并显示结果实现按学号排序并显示。(提示,可将n设置为全局变量)

编写程序:

《C程序设计》作业内容

实验一C语言的运行环境的使用 一、目的与要求 1. 了解Windows系统下C语言的运行环境,熟悉C程序调试、运行的基本操作方法。 2. 熟练掌握编辑、编译、连接和运行C程序的方法。 3. 通过运行简单的C程序,初步了解C源程序的特点。 4. 初步理解C语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运 行结果的基本输出方法。 二、实验例题 在C语言运行环境下,按以下例题要求完成程序的编辑、编译、连接和运行,直至取得正确的运行结果。 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. (1)输入如下程序: #include int main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); return 0; } (2)将输入的程序以文件名example.c存盘。 (3)编译:通过“组建”(Build) 下拉菜单中的“编译”(compile)命令,编译example.c,若出现编译错误,则修改程序,重新编译,直至编译成功,系统自动生成目标文件example.obj。 (4)连接:通过“组建”(Build)下拉菜单中的“组建”(Build)命令,生成以.exe为扩展名的可执行文件example.exe。 (5)运行:通过“组建”菜单下的“执行”(Excute)命令运行程序并观察运行结果。 【例2】编写程序,将两个整数相加,并输出结果。 #include int main() { int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); return 0;}

C语言程序设计练习题(含程序及参考答案)

1、定义一个函数int fun(int a,int b,int c) ,它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2, —般三角形返回1,若不能构成三角形返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nl 叩ut a,b,c:"); scanf("%d%d%d", &a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); }

2、编写一个程序,将两个变量的值交换,例如变量a中的值原为 3 , b中的值原为8,程序运行后a中的值为8, b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c 中。 例如,输入的数为:55 12 34 , 输出结果应当是:a=55.0,b=34.0,c=12.0 。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;}

C语言程序设计作业参考答案

《C语言程序设计》作业参考答案 作业一 C语言概述 一、选择题: 1-5 ACDCB 二、编程题: main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法 一、填空题: 1.确定性有效性有零个或多个输入有一个或多个输出 2.顺序结构选择结构循环结构 3.函数 作业三数据类型、运算符与表达式 一、选择题: 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构 一、选择题: 1-5 BCDDD 6-10 BDADD 二、填空题: 1.【31.415920,3.14159e+01】 2.【c=k】 3.【a=1,b=空格,c=2】 4.【a=12,b=345】 5.【c=A】 作业五选择结构 一、选择题:1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题: 1.【-1】 2.【3】 3.【4】 4.【11】 5.【97或'a'】 作业六循环结构 一、选择题: 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB

作业七数组 一、选择题: 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题: 1. LBLMNP 2. SW* 3. mo 4. a=2,b=1 作业八函数 一、选择题: 1-5 AAACA 二、填空题: 1.【编程中的main( )函数】 2.【函数说明部分】和【函数体】 3.【–125= –5*5*5】 4.【void add (float a, float b)】【float add (float a, float b)】 5.【i=7; j=6; x=7 i=2; j=7; x=5】 6.【111】 三、编程题: 1.参考代码 main() { int score,temp,log; char grade; log=1; while (log) { printf(“enter score:”); scanf(“%d”,&score); if ((score>100)||(score<0)) printf(“\n error,try again! \n”); else log=0; } if (score==100)temp=9; else temp=(score-score%10)/10; switch(temp) { case 0:case 1:case2: case 3:case 4:case 5:grade=’E’;break; case 6:grade=’D’;break; case 7:grade=’C’;break; case 8:grade=’B’;break; case 9:grade=’A’; } printf(“score=%d,grade=%c\n”,score,grade); } 2.解:设计以高度n为参数的函数trangle(int n),打印等边三角形。参考程序如下: #include

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C程序设计作业样本

第一章作业 答案:一,59,14.4,28.e 二1小题,59 2,15 一、将数89、20.25、40.875用十六进制表达 二、填空 1.在C语言中,数值常量0x3b十进制值是。 2.字母f ASCII码为十进制数___________。 第三章作业 一、选取题: 1、下列变量名中, B 是非法。 A) Tom B) 3n C) little_boy D) c10 2、若有如下类型阐明 char a; int b; float c; double d;则表达式a*b+d-c成果类型是(A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25成果及x值分别是(C )对的答案是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)值是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2值为 C 。 A) 12 B) 11 C)不拟定值D) 10

6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标记符字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均是合法整型常量是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A. int B. float C. double D. char 10.若a是int型变量,则表达式(a=4*5,a*2),a+4值为( C ) A. 20 B.22 C. 24 D. 44 第四章作业 一、选取题 1、若x为int型变量,则执行如下语句后x= C 。 x=5; x-=x-=x+x; A. -10 B. -5 C.0 D.10 2、在printf()函数格式阐明符中,字符型数输出格式阐明符是 D 。

《C语言程序设计》综合练习题与答案

《C语言程序设计》综合练习题与答案 一、简要问答下列问题 1.什么是源程序? 2.C语言源程序的编译过程是怎样的? 3.简述C语言的特点 4.C/C++程序都是由函数组成的,其中最主要的、不可缺少的函数是哪一个?举例说明该函数的结构。 5.函数的返回值是通过什么语句来实现的,它的格式是什么? 6.在编写C程序时,为什么要把库函数的头文件包含到用户源程序中?如何把用户的头文件包含到用户源程序? 7.在计算机中,存储的数据为什么要分成多种不同的数据类型? 8.什么是常量?什么是变量? 9.C语言的五种基本数据类型有哪些?它们的关键字和所占的字节数分别是什么? 10.判断标识符是否合法的三条规则是什么? 11.什么是C语言的关键字?关键字对标示符有何影响? 12.全局变量和局部变量有什么区别? 13.什么是空语句,什么是语句块? 14.结构化程序设计的三种基本结构是什么? 15.三种循环语句各有什么特点? 16.什么叫多重循环结构? 17.Continue语句与break语句有什么区别? 18.字符与字符串有什么区别?‘b’与“b”相同吗? 19.什么是数组?一维数组的定义形式是怎样的? 20.字符串的结束标记是什么? 21.什么是按位操作?C语言对按位操作有哪些要求? 22.什么是指针?指针的两个操作符表示什么意义? 23.指针和数组有什么关系? 24.指针有那几种算术运算?说明指针变量的算术运算与一般变量的算术运算有何区别? 25.函数是由哪三部分组成的?函数定义的一般形式是什么? 26.函数原型是什么情况下使用?有什么作用? 27.形参和实参有什么关系,函数的两种调用方式是什么? 28.什么是函数的递归调用? 29.什么是函数指针?说明定义函数指针的一般形式。 30.什么是内部函数?什么是外部函数? 31.C语言的四种用户定义数据类型是什么? 32.C系统提供的三种主要预处理功能是什么? 33.什么是文件包含? 34.什么是文件?什么是流?

c程序设计作业

1、分析下面程序: # include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n"c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出什么信息?为什么? (3)如果将程序第3行改为 int c1,c2; 运行时会输出什么信息?为什么? 答:(1)程序运行不了,因为程序存在错误。正确的程序为:#include int main() { char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (2)如果将程序第4,5行改为 c1=197; c2=198; 运行时会输出: (3)如果将程序第3行改为 int c1,c2; 运行时会输出:

因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出 c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=98 2、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。 问在键盘上如何输入? #include int main() { int a,b; float x,y; char c1,c2; scanf("a=%db=%d",&a,&b); scanf("%f%e",&a,&y); scanf("%c%c",&c1,&c2); return 0; } 答:输入如图: 输出如图: (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容, 供参考,感谢您的配合和支持)

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.wendangku.net/doc/c317138984.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

C程序设计练习题1

1.从键盘上输入两个复数的实部与虚部,求出并输出它们的和、积、商。 2.以下程序的功能如(图1)。 |x+1| x<0 f= 2x+1 0≤x≤5 sinx+5 x>5 3.输入三个整数x,y,z,请把这三个数由小到大输出。 4.统计读入的整数数据中大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 5.以每行5个数输出500以内能被7或17整除的偶数,并求出其和。 6.以下程序不借助任何中间变量把a、b的值进行交换。 7.输出斐波那契(Fibonacci)数列(1,1,2,3,5,8,13……)的前20项。 8.求 1-3+5-7+……-99+101 的值。 9.输出如下形式的乘法表。 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 10.实现求解下面的式子的结果,请填空将程序补充完整。 s=1*2+2*3+3*4+…+20*21。 11.以下程序的功能是分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。 12.求任一整数x的各位数字之和。 13.以下程序的功能是求两个非负整数的最大公约数和最小公倍数。 14.以下程序的功能如(图1)。

15.算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。 16.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 17.下面的程序是求1!+3!+5!+……+n!的和. 18.请编程序打印如下图形。 $ $$ $$$ $$$$ $$$$$ 19.打印出如下图案(菱形) * *** ***** ******* ***** *** * 20.从键盘上输入20个元素的值存入一维数组m中,然后将下标为(0. 2. 4. 6. 8. 10…… 18)的元素值赋值给数组n,最后输出数组n的内容。请填空 21.产生25个[50,90]上的随机整数,求出其中能被5整除的所有数的和。 22.从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。 23.以下程序的功能是将一个数组中的元素按逆序存放。 24.产生15个[20,80]上的随机整数,用顺序法(比较法)按从小到大排序后输出。 25.以下程序是用选择法对10个整数按升序排列 26.以下程序的功能是产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。 27.以下程序的功能是产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 28.以下程序的功能是产生并输出杨辉三角的前七行。 1 1 1 1 2 1

C语言程序设计综合练习题

C语言程序设计综合练习题 一、选择题 C(1)以下叙述中正确的是 A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点 a.错误,c语言是由B语言发展过来,是低级语言向高级语言发展的过渡语言,而且更偏向底层~~java和C#才算是高级语言 b、明显错误,C语言是编译型语言,需要编译执行 d、这就错的更离谱了,现在微软都在研制F#,C怎么可能最晚?再说,java和c#都比它晚了,再说一下,C语言的主要优点是简洁紧凑、可移植性强,由指针这一特色,更能操作底层,它没有java的跨平台性,没有C#的通俗性。。。 最后,说下C,早期的C在贝尔实验室研制出来的,用于做数值计算和一些数学模型的求解,所以更接近自然语言和数学语言 B(2)在一个C语言程序中 A)main()函数必须出现在所有函数之前 B)main()函数可以在任何地方出现 C)main()函数必须出现在所有函数之后 D)main()函数必须出现在固定位置 B(3)下列关于C语言用户标识符的叙述中正确的是 A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 A不能出现中划线 C下划线可以放在开头 D数字不能放开头 D(4)下列关于单目运算符++,--的叙述中正确的是 A)它们的运算对象可以是任何变量和常量 B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 A(5)有以下程序段: int m=0,n=0;char c=′a′; scanf(″%d%c%d″,&m,&c,&n); printf(″%d,%c,%d\n″,m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是 A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0 格式字符%d用于输入整数,%c用于输入字符。在输入时,系统把第一个10作为整数10赋给m,把随后的A作为字符赋值给c,后面的10作为整数赋给n,最后输出的结果为10,A,10 printf语句中,屏幕输出时所显示的间隔符应与输出格式项之

C程序设计作业

第一章作业 答案:一,59,14、4,28、e 二1小题,59 2,15 一、将数89、20、25、40、875用十六进制表示 二、填空 1、在C语言中,数值常量0x3b得十进制值就是。 2、字母f得ASCII码为十进制数___________。 第三章作业 一、选择题: 1、下列变量名中, B 就是非法得。 A) Tom B) 3n C) little_boy D) c10 2、若有以下类型说明 char a; int b; float c; double d;则表达式a*b+d-c得结果类型就是( A ) A)float B)char C)int D)double 3、若x为整型,则逗号表达式(x=4*5,x*5),x+25得结果及x得值分别就是(C )正确答案就是100,45 A)45 20 B)125 20 C)125 45 D)100 100 4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)得值就是 C 。 A) 5 B) 8 C) 6 D)7 5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2得值为 C 。 A) 12 B) 11 C)不确定得值D) 10 6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型 A) int B) float C) double D) char 7、C语言中不可用作标识符得字符有( C ) A下划线 B % C数字 D字母 8、下面四个选项中,均就是合法整型常量得就是(D ) A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e5 9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型 A、int B、float C、double D、char 10、若a就是int型变量,则表达式(a=4*5,a*2),a+4得值为( C ) A、20 B、22 C、24 D、 44 第四章作业 一、选择题

C语言程序设计各章练习题

《C语言程序设计》各章练习题 2016年12月汇编 第1-3章C语言基础、编程规范、顺序结构程序设计 编程题1:设a和b均为int型变量,编写一个程序,通过键盘读入a,b的值,然后交换a,b的 值。要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b的值,交 换后a,b的值。 个变量,实现交换;)允许定义第3附加要求:(1 个变量,实现交换。)不允许定义第3 (2章选择结构程序设计第4的值。的值,输出y编程题2:根据下列函数关系写程序, 要求提示输入x y的值。x编程题2:根据下列函数关系写程序,要求提示输入的值,输出22b(只 输出+bx+c=0方程的解。,输出“不予3:求 ax的求解结果,小于0-4ac>=0编程题”)求 ?,如n编程题4:编程计算为负数,不予计算,直接返 解!循环结构程序设计第5章n 回。。要求提示键盘输入n i1i?,不予计算。小于0!,要求n从键盘输入,如n5编程题:编程序 计算n n是否是素数。,判断编程题6:从键盘输入一个数n55个偶数一行,每个数占6:编写程 序输出1~100之间的偶数,要求屏幕显示时编程题位,右对齐。,并将其输出。1000之间有 多少个数其各位数字之和是5:编程计算编程题7100到的各位数n11(整数相除)所得到的商 等于编程题8:求满足下列条件的三位数n,它除以字的平方和,且其中至少有二位数字相同 的数。如:c≠d且。,和abcd具有如下特性:ab×cd=ba×dc其中a≠b有一些十进制整数对9 编程题:值,并按上述等式的格式输,mn之间满足上述等式所有。请编程找出12×42=21× 2430~50 表示)*(×用出。. 编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出。例如,输入123456,输 出654321。 第6章数组 编程题11:有一个已排好序的数组int a[11]={-5,-3,0,6,8,12,16,28,66,88};,要求输入一个数后, 按原来排序的规律将它插入数组中。 编程题12:输入一个字符串(字符个数为小于100),统计其中字母、数字、空格以及其它符号 的个数,并将大写字母改为小写字母,输出改变后的字符串。(提示:A的ASCII值为65,a 的ASCII值为97) 编程题12:输入一行字符(字符数组的个数小于100),统计其中字母、数字以及其它符号的个 数。(注:数组限定字符个数小于100) 编程题12:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。(注:字 符个数不受限制) 第7章函数 编程题13:编写一个子函数int fun ( int n),其功能是判断整数n是否为素数,n是素数,返 回值为1;n不是素数,返回值为0。调用该函数,将100~200之间的素数全部输出,要求屏幕 上每个数占4位,每行显示5个素数,左对齐。(循环、条件分支、子函数、变量的值传递、屏 幕显示格式控制)

C程序设计复习题答案

程序设计基础复习题答案 一、填空题 1、C语言所提供的实型变量分为两种类型,它们是float和double 。 2、一个C源程序中至少应包含一个主函数或main函数。 3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’ 4.在标准C 5.对以下说明:int c[10] = {116, 125, 218, 312, 100, 40, 13, 67, 186}; c[4]的值为 100 。 6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是整型常量或整型表达式。 7.设y为int 型变量,请写出描述“y是偶数”的表达式 (y%2)==0 。 8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=ik)的值为 0 。 9.与表达式 a+=b 等价的另一书写形式是 a=a+b 。 10.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是a[1][1] 。 11.代表一个反斜杠字符“\”的转义字符是 '\\' 。 12.变量的指针就是变量的地址,存放变量地址的变量就是指针变量,它用来指向另一个变量。 13.++i和i++的不同之处在于i++是先使用i的值后,再执行i=i+1;而++i是先执行i=i+1后,再使用i的值。 14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x

C语言程序设计课程作业

C语言程序设计课程作业_A 一、单选题 1. (4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是() ? A. x%=(k%=5) ? B. x%=(k-k%5) ? C. x%=k ? D. (x%=k)-(k%=5) 答案D 解析C语言程序设计/数据类型与运算/整型算术表达式 2. (4分)以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf('%d,%d,%d ', x,y,z); } ? A. 20,20,20 ? B. 32,16,20 ? C. 16,32,20 ? D. 20,32,20 答案C 解析C语言程序设计/数据类型及运算 3. (4分)C语言中while和do while循环的主要区别是( ) ? A. do-while的循环至少无条件执行一次

? B. while循环控制条件比do-while的循环控制条件严格 ? C. do-while允许从外部转入到循环体内 ? D. do-while的循环体不能是复合语句 答案A 解析C语言程序设计/循环程序设计/while语句与do-while语句 4. (4分)执行语句scanf('%d,%d',&m,&n);使m和n的值分别为1和2,正确输入是( ) ? A. 1 ? B. 1 2 ? C. 1,2 ? D. 12,2 答案C 解析C语言程序设计/顺序程序设计/整型数据的格式输入 5. (4分)sizeof(float)是( ) ? A. 一个双精度型表达式 ? B. 一个整型表达式 ? C. 一种函数调用 ? D. 一个不合法的表达式 答案B 解析C语言程序设计/数据类型与运算/实型变量存储 6.

C程序设计综合练习题读程序写结果题

C++程序设计模拟题 三、用C++语言描述下列命题 1、A小于B并且A大于C 2、A和B中有—个小于C 3、A是奇数 4、B和C中较大者与A相等 5、年份Y是闰年 四、写出下列程序的执行结果 #include voidmain() { intb[3][5]={11,12,13,14,15,21,22,23,24,25,31,32,33,34,35}; int(*p)[5]; p=b; for(intj=0;j<5;j++) cout<<*(*p+j)<<","; cout< voidswapl(inta,intb) { inttemp=a; a=b; b=temp; } voidswap2(int*a,int*b) { inttemp=*a; *a=*b,*b=temp; } voidswap3(int*a,int*b) { int*temp=a; a=b,b=temp; } voidswap4(int&a,int&b) { inttemp=a; a=b;b=temp; } voidmain() { inta=10,b=20; swapl(a,b); cout<

swap2(&a,&b); cout< voidprint(intw) { inti; if(w!=0) { print(w-1); for(i=1;i<=w;i++) cout< #definesw(x,y){x^=y;y^=x;x^=y;} voidmain() { inta=10,b=01; sw(a,b); cout< voidmain() { inta,b,c,x; a=b=c=0; for(intk=0;k<10;k++) { cin>>x; switch(x%3) { case0:a+=x;break; case1:b+=x;break; case2:c+=x;break;

C语言程序设计习题题(编程题)

C语言程序设计习题(编程类) 1、从键盘输入任意的字符,按下列规则进行分类计数。 第一类'0','1','2','3','4','5','6','7','8','9' 第二类'+','-','*','/','%','=' 第三类其它字符 当输入字符'\'时先计数,然后停止接收输入,打印计数的结果。 参考答案: #include void main( ) { int class1, class2, class3; char ch; class1=class2=class3=0;/* 初始化分类计数器*/ do { ch=getch( ); switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': class1++;break;/* 对分类1计数*/ case '+': case '-': case '*': case '/': case '%': case '=': class2++;break;/* 对分类2计数*/ default: class3++;break;/* 对分类3计数*/ } }while (ch!= '\\');/* 字符'\'在C程序中要使用转义符'\\' */ printf("class1=%d, class2=%d, class3=%d\n", class1, class2, class3); } 2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。 参考答案: void main( ) { int i,j,num,a[10]; for(i=0;i<10;i++) { printf("Enter No. %d:", i+1); scanf("%d",&num); for(j=i-1;j>=0&&a[j]>num;j--) a[j+1]=a[j]; a[j+1]=num; } for(i=0;i<10;i++) printf ("No.%d=%d\n", i+1, a[i]); }

相关文档
相关文档 最新文档