编写函数char strcat(char str1,char str2),将串str2连接到str1末尾得到一个长串(用指针)方法二

合集下载

第5章《数组》复习题

第5章《数组》复习题

第5章数组一、选择题1、下列关于数组的描述正确是:()A) 数组的长度是固定的,而其中元素的数据类型可以不同B) 数组的长度是固定的,而其中元素的数据类型必须相同C) 数组的长度是可变的,而其中元素的数据类型可以不同D) 数组的长度是可变的,而其中元素的数据类型必须相同2、在C++语言中引用数组元素时,下面关于数组下标数据类型的说法错误的是:()A) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型的表达式3、要定义数组A,使得其中每个元素的数据分别依次为:3、9、4、8、0、0、0,错误的定义语句是:()A) int A[]={3,9,4,8,0,0,0}; B) int A[9]={3,9,4,8,0,0,0};C) int A[]={3,9,4,8}; D) int A[8]={3,9,4,8};4、有如下数组声明:int value[30];,下标值引用错误的是:()A) value[30] B) value[0] C) value[10] D) value[20]5、以下叙述中错误的是:()A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统自动扩展数组长度D)可以通过赋初值的方式确定数组元素的个数6、在C++语言中,一维数组的定义方法为:()。

类型说明符数组名A)[常量表达式] B)[整型常量] C)[整型变量] D)[整型常量]或[整型表达式]7、对以下说明语句的正确理解是()。

int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10]D)因为数组长度与初值的个数不相同,所以此语句不正确8、假定short类型变量占用两个字节,其有定义:short x[10]={0,2,4};,则数组x在内存中所占字节数是()。

2021年山东省青岛市全国计算机等级考试C语言程序设计预测试题(含答案)

2021年山东省青岛市全国计算机等级考试C语言程序设计预测试题(含答案)

2021年山东省青岛市全国计算机等级考试C语言程序设计预测试题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.在下列运算符中,优先级最低的是()。

A.||B.!=C.<D.+2.如有inta=11;则表达式(a/1)的值是()。

A.0B.3C.4D.113. 要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,下列正确的程序段是( )。

A.while((ch—getchar)!=N)printf("%c",ch);B.while(oh=getchar!=N)printf("%c",ch);C.while(ch=getchar==N)printf("%c",ch);D.while((ch—getchar)==N)printf("%c",ch);4.若有定义语句:“int x=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为()。

A.1.9B.1C.2D.2.45. 若已包括头文件且已有定义char sl [18],s2={"ABCDE")和int i,现要将字符串”ABCDE”赋给sl,下列语句错误的是( )。

A.strcpy(s1,s2)B.strcpy(s1,"ABCDE");C.sl="ABCDE";D.for(i=0;i<6;i++)sl[i]=s2[i]6.有如下程序:main{ int a=2,b=-1.c=2;if(a<b)if(b<0)c=0;else c++;printf("%d\n",c);}该程序的输出结果是( )。

A.A.0B.1C.2D.37.在非线性结构中,每个结点()。

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

matble

matble

matblestrcat---字符串拼接函数#include"iostream.h"#include"string.h"int main(){char a[10]={"abcd"},b[10]={"uio"},c[100];strcpy(c,a);strcat(c,b);cout<<c<<endl;return 0;}abs() 求绝对值函数#include"iostream.h"#include"math.h"int main(){int a=1,b=-1;a=abs(a);b=abs(b); //求绝对值cout<<a<<" "<<b<<endl;return 0;}qsort快速排序函数函数名:qsort功能:使用快速排序例程进行排序用法:void qsort (void *base,int nelem ,int width,int(*fcmp)());//函数名:qsort//功能:使用快速排序例程进行排序//用法:void qsort (void *base,int nelem ,int width,int(*fcmp)());#include <stdio.h>#include <stdlib.h>#include <string.h>int sort_function( const void *a, const void *b);char list[5][4]={"cat","car","cab","cap","can"};int main(){int x;qsort((void *)list,5,sizeof(list[0]),sort_function);for(x=0;x<5;x++)printf("%s\n",list[x]);return 0;}int sort_function(const void *a, const void *b){return (strcmp(a,b));}strcpy 与 strcmp 函数函数名: strcpy功能: 串拷贝用法: char *strcpy(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr;ptr = strcmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return 0;}。

50道C++编程练习题及解答

50道C++编程练习题及解答

50道C/C++编程练习题1、输入3个数,求最大值int main(){ int a,b,c,m;cin>>a>>b>>c;m=a;if(b>m) m=b;if(c>m) m=c;cout<<m;}2、编程序,求方程ax2+bx+c=0的根#include<iostream>#include<cmath>using namespace std;int main(){double a,b,c,d,x1,x2;cin>>a>>b>>c;if(a==0)if(b==0) cout<<"error\n";else cout<< "x="<<-c/b<<endl;else{ d=b*b-4*a*c;if(fabs(d)<=1e-6)cout<<"x1=x2="<<-b/(2*a)<<endl;else if(d>1e-6){ x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<",x2="<<x2<<endl; }else cout<<"方程无实根\n";}}3、输入一个成绩,打印相应的等级int main(){ int a;cin >> a;if(a>=90) cout<<"A";else if(a>=80) cout<<"B";else if(a>=70) cout<<"C";else if(a>=60) cout<<"D";else cout<<"E";} 4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。

C语言试题,二级C语言试题

C语言试题,二级C语言试题

二级C语言程序设计模拟试题(一)一、单项选择题。

(每小题1分,共20分)1、一个C语言程序是由(B)组成。

A) 一个函数 B) 一个或若干个函数C) 一个过程 D) 一个过程或若干个过程知识点:C语言程序的结构2、C语言用(D)表示逻辑真值。

A) true B) T C) 整型值0 D) 非0整型值知识点:数据类型3、如果程序中有#include "文件名" 则意味着(A)。

A) 将"文件名"所指的那个文件的全部内容,在此命令行出现的这一点上,插入源程序B) 指定标准输入输出C) 宏定义一个函数D)条件编译说明知识点:编译预处理4、为一个结构体变量分配存储空间时,其所占容量为(B)。

A) 结构体中第一个成员所占容量 B) 结构体中所有成员所占容量C) 结构体中所有成员中所占容量最大者 D) 结构体中最后一个成员所占容量知识点:结构体5、如果int *px,*py;则可用{temp=*px;*px=*py;*py=temp}实现*px和*py的交换。

其中temp应该说明为( A )。

A) int temp B) int &temp C) int **temp D) int *temp知识点:指针6、于合法的c语言长整型常量是(A)。

A) 12L B) 6887273 C) 5E12 D) (long)6887273知识点:数据类型7、下列程序输出正确的是(A)。

main(){ int a=-1,b=1,c;c=(a++<=0)&&!((b--<=0));printf(“%d,%d,%d”,a,b,c);}A) 0,0,1 B) -1,1,1 C) 0,0,0 D) 0,1,0知识点:逻辑运算符8、已知E的ASCII码是69,则执行printf(“%c”,’D’-‘8’+’5’);的结果是(B)。

A) 66 B) A C) B D) E知识点:数据类型与自动转换9、段名访问的方式是(A)A) 结构名.位段名 B) 位段名 C) 结构名 D) *&位段名知识点:位段10、有字符数组a,则正确的输入语句是(C)。

c语言填空题

c语言填空题

c语言填空题1、函数fun的功能是计算x^n。

double fun(double x,int n){int i; double y=1;for(i=1;i<=n;i++) y=y*x;return y;}主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。

实现这一计算的函数调用语句为______。

答案: 1:fun(a,4)+fun(b,4)-fun((a+b),3)评析:函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),所以,实现m=a^4+b^4-(a+b)^3这一计算的函数调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。

知识点:知识点/函数/函数的正确调用,嵌套调用,递归调用2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。

请填空。

void sstrcpy(char *s,char *t){ while(*s++=______);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);}答案: 1:*t++评析:要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。

或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。

知识点:知识点/指针/用指针作函数参数3、以下程序给指针p分配三个double型动态内存单元,请填空。

#includemain(){ double *p;p=(double*)malloc(______);p[0]=1.5; p[1]=2.5;p[2]=3.5;printf("%f%f%f\n",p[0],p[1],p[2]);}答案: 1:3*sizeof(double)评析:malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。

keil 二次方 字符串 -回复

keil 二次方 字符串 -回复

keil 二次方字符串-回复关于Keil的二次方字符串Keil是一款集成开发环境(IDE),常用于嵌入式系统的开发。

它提供了丰富的工具和功能,帮助开发人员编写、调试和测试嵌入式系统的代码。

Keil 的二次方字符串是其特有的一个功能,可以方便地操作和处理字符串的操作。

在本文中,我们将详细介绍Keil的二次方字符串,并逐步解释其用法和功能。

Keil的二次方字符串在字符串处理中起到了非常重要的作用。

它可以帮助开发人员更轻松地处理字符串,并进行各种操作,如拷贝、连接、比较、查找等。

下面我们将一步一步地介绍Keil的二次方字符串的用法。

首先,我们需要了解Keil的二次方字符串的定义和声明。

Keil的二次方字符串使用数组的方式来存储和操作字符串。

声明一个Keil的二次方字符串可以使用以下语法:char str[长度];其中,char是字符类型,str是字符串变量的名称,长度是字符串的长度。

例如,我们可以声明一个长度为10的Keil的二次方字符串:char str[10];接下来,我们可以使用Keil的二次方字符串的各种函数来对字符串进行操作。

以下是一些常用的Keil的二次方字符串函数的介绍:1. strcpy函数:用于将一个字符串拷贝到另一个字符串中。

其语法如下:strcpy(目标字符串, 源字符串);例如,我们可以使用strcpy函数将一个字符串拷贝到另一个字符串中:strcpy(str1, str2);2. strcat函数:用于将一个字符串连接到另一个字符串的末尾。

其语法如下:strcat(目标字符串, 连接字符串);例如,我们可以使用strcat函数将一个字符串连接到另一个字符串的末尾:strcat(str1, str2);3. strcmp函数:用于比较两个字符串是否相等。

其语法如下:strcmp(字符串1, 字符串2);例如,我们可以使用strcmp函数比较两个字符串是否相等:if (strcmp(str1, str2) == 0) {字符串相等的处理逻辑}4. strlen函数:用于获取一个字符串的长度。

习题7答案

习题7答案

习题7 参考答案7.1 选择题(请选择一个正确的答案)1. 以下对C语言函数的有关描述中,正确的是_______A. 在C语言中调用函数时,只能实参的值转送给形参,形参的值不能转送给实参。

B. C函数既可以嵌套定义,又可以递归调用。

C. 函数必须有返回值,否则不能使用函数。

D. C程序中有调用关系的所有函数必须放在同一个源程序文件中。

答案:A.2. C语言中规定函数的返回值的类型由_______A. return语句中的表达式类型所决定。

B. 调用该函数时的主调函数类型所决定。

C. 调用该函数时系统临时决定。

D. 在定义该函数时所指定的函数类型所决定。

答案:D3. 以下不正确的说法是_______A. 在不同函数中可以使用相同名字的变量。

B. 形参是局部变量。

C. 在函数内定义的变量只在本函数范围内有效。

D. 在函数内的复合语句中定义的变量在本函数范围内有效。

答案:D4. 有一个如下定义的函数func(int a){ printf("%d",a);return a;}则该函数值的类型是_______A. 整型B. void类型C. 没有返回值D. 无法确定答案:A5. 以下错误的描述为_______A. 在函数之外定义的变量称为外部变量,外部变量是全局变量。

B. 在一个函数中既可以使用本函数中的局部变量a,又可以使用同名的外部变量a。

C. 外部变量定义和外部变量说明的含义不同。

D. 若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。

答案:B.6. 下面程序的输出结果是_____fun3(int x){static int a = 3 ;a+=x;return a;}main(){int k=2,m=1,n;n = fun3(k);n = fun3(m) ;printf( "%d\n",n);}A. 3B. 4C. 6D. 9答案:C7.下面程序的输出结果是_____#include <stdio.h>main(){ int k=4,m=1,p;int func (int a,int b);p=func(k,m);printf("%d," ,p);p=func(k,m);printf("%d\n",p);}func (int a,int b){static int m=0,i=2;i+=m+1; m=i+a+b;return m;}A. 8, 17B. 8, 16C. 8, 20D. 8 , 8答案:A7.2 判断下列叙述的正确性,若正确在()内标记√,若错误在()内标记⨯。

2010信息工程学院C语言2期末试卷(A)

2010信息工程学院C语言2期末试卷(A)

杭州电子科技大学信息工程学院考试试卷(A)卷考试课程计算机应用基础与程序设计(C语言)2考试日期2010年6月日成绩课程号教师号任课教师姓名考生姓名学号年级专业说明: 请将全部答案都书写在第5页答题纸上,否则答题无效。

试题一、判断题 (共10分) (用‘√’或‘×’标注对错)1.main函数必须写在一个C程序的最前面。

×2.定义函数时,可以有返回值,也可以无返回值。

√3.在调用函数时,实参传值给形参,调用结束时,形参值传给实参。

×4.a是一维数组名,数组元素a[1]还可以写作“*a++”。

×5.若有定义“int a[3][4];”,则在数组元素a[2][2]前有10个元素。

√6.有定义语句“char str1[ ]="Hello",str2[ ]={'W','o','r','l','d'};”,则数组str1和str2都有5个元素。

×7.有数组定义int a[3][3]={{1},{2,3}};,则a[2][2]的值为0。

√8.已知宏定义 #define S(a,b) a-b,执行语句 printf("%d",SQ(5+6,3+4));后的输出结果是4×。

9.设有说明struct stud { char num[8];char name[10];int score[4];};,stud只是一个类型名,系统没有为它分配存储空间。

√10.若有定义:char ch,*p=&ch;,通过指针p给变量ch读入字符的scanf函数调用语句是scanf(“%c”,p);√试题二、单选题,根据题目从A、B、C、D中,选择一个正确的选项(共30分)1.C语言程序中,当调用函数时( A )。

A. 实参和形参各占一个独立的存储单元B. 实参和形参可以共用存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元2.在C程序中,若对函数类型未加说明,则函数的隐含类型为( A )。

C语言概念题100(解答)

C语言概念题100(解答)

C语言概念题解答选编为了切实掌握C语言的基本概念,特列出有关内容的选择题和填充题等供读者参考。

读者在自学本材料时,希望读者先自已给出解答,然后再来阅读习题的参考解答。

单项选择题1.以下字符列中,能作为C程序自定义标识符的是① num(10) ② file_bak ③ break D class + 2【解】C语言规定,C程序的标识符的命名规则是要由英文字母或下线字符开头,由英文字母、下线字符和数字符构成的字符序列,并且不可以与C语言规定的保留字相同。

在供选择的答案中,选择①含有括号字符,不是标识符,它好象是函数调用表达式;选择②符合C语言关于标识符的构成规则,所以它可以作为标识符;选择③是C语言的保留字,它不可以再被程序设定为标识符;选择④是一个加法运算算术表达式,也不可以作为程序的标识符。

所以解答是②。

2.下列字符列中,不是C语言提供的合法关键字是① switch ② begin ③ case ④ default【解】因C语言的关键字表中没有begin,它不是C语言的关键字。

所以解答是②。

3.键盘符号是指如其标记所示能显示的字符。

下列字符中属于键盘符号的是① \ ② \n ③ \t ④ \b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。

有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。

为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。

如‘\n’、‘\t’、‘\b’都不是键盘字符,在C语言中,它们都得用转义字符来表达。

只有字符‘\’才是键盘字符。

所以解答是①。

但在C程序中,反斜杠字符\ 已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成’\\’。

4.下列字符列中,不是用来表达转义字符是① \\ ② \’③ 074 ④ \0【解】转义字符有三种书写形式:反斜杠字符后接上某个规定的字符;反斜杠字符后接上1至3个八进制数字符;反斜杠字符和字符x之后接上1至2个十六进制数字符。

东北大学C语言程序+答案1

东北大学C语言程序+答案1

第一大题13.根据下面的函数关系,对输入的每个x值,计算出相应的y值并输出结果。

(1)当x小于1时,y等于2+cos(x)(2)当x大于等于1且x小于2时,y等于x的平方加上sin(x)(3)当x大于等于2时,y等于(x-2)的平方根;要求:按格式输出x和y的值,要求小数点后保留2位。

#include<stdio.h>#include<math.h>main(){float x,y;printf("请输入x:");scanf("%f",&x);if(x<1)y=cos(x)+2;else if(x<2)y=x*x+sin(x);elsey=sqrt(x-2);printf("%.2f",y);}14. 从键盘读入一个实数,对其进行四舍五入处理,要求精确到到小数点后两位。

例如输入12.345,其结果为12.35;输入12.341,其结果为12.34。

#include<stdio.h>main(){float x;printf("请输入一个小数:");scanf("%f",&x);x=x*100;x=int(x+0.5);x=x/100.0;printf("%.2f\n",x);}15.从键盘输入任意一个字母,如果其为大写字母,则转为小写字母;如果其为小写字母,请转换为大写字母;其他情况保持不变,计算并输出。

#include<stdio.h>main(){char x;printf("请输入一个字母:");scanf("%c",&x);if(x>='a'&&x<='z')printf("%c ",x-32);else if(x>='A'&&x<='Z')printf("%c ",x+32);elseprintf("%c ",x);}16. 从键盘输入三个整数a、b、c,输出其中最大的数。

c语言char的用法

c语言char的用法

c语言char的用法C语言中char的用法在C语言中,char是一种数据类型,用于表示字符。

它是C语言中最基本的数据类型之一,也是字符串操作的关键类型。

对于char的使用,涉及到字符定义、输入输出、ASCII码、字符数组和字符串等方面。

本文将全面介绍C语言中char 的用法。

一、字符定义与赋值在C语言中,可以使用char来定义一个字符变量。

例如:```cchar ch;```这样就定义了一个名为ch的字符变量。

我们可以通过赋值来给这个字符变量赋予具体的值,即一个字符。

例如:```cch = 'A';```其中'A'表示了一个ASCII码为65的大写字母A。

二、字符输入输出在C语言中,可以使用scanf函数进行字符输入,以及使用printf函数进行字符输出。

1. 字符输入scanf("%c", &ch);```上述代码可以将用户从标准输入设备(比如键盘)输入的一个字符存储到ch 变量中。

2. 字符输出```cprintf("%c", ch);```上述代码会将ch变量中存储的字符打印到标准输出设备(比如屏幕)上。

三、ASCII码与字符转换在计算机系统中,每个字符都有相应的ASCII码值与之对应。

C语言能够通过char类型既能存储具体的字符,也能存储对应的ASCII码值。

1. 字符转ASCII码```cchar ch = 'A';int ascii_value = (int)ch; // 使用类型转换将字符变量转换成整数```通过将char类型强制转换为int类型,我们可以获得这个字符对应的ASCII码值。

在此例中,ascii_value变量将被赋值为65。

2. ASCII码转字符int ascii_value = 65;char ch = (char)ascii_value; // 使用类型转换将整数转换成字符```通过将int类型强制转换为char类型,我们可以根据给定的ASCII码值获取对应的字符。

c语言程序设计期末考试试卷(A)

c语言程序设计期末考试试卷(A)
A、7B、8 C、6 D、2
4、表达式18/4*sqrt(4.0)/8值的数据类型为。
A)、int B)、float C)、double D)、不确定
5、若有以下定义,则能使值为3的表达式是D。
Int k=7,X=12;
A、X%=(k%=5)B、X%=(k-k%5)
C、X%=k-k%5 D、(X%=k)-(k%=5)
t=((t=(a<b)?a:b)<c)? t:c;
s=a+b+c-u-t; a=u;
b=s; c=t; return s;
}
运行时输入: 5 –7 3,输出结果:
4、#include <stdio.h>
#include<stdlib.h>
#defineNEW(struct info *)malloc(sizeof(struct info))
三、程序阅读题(每题5分共30分)
1.#include <stdio.h>
void main( )
{ int k=0;
char c='A';
do {
switch (c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; break;
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'a'和'A'的地址

50道C++编程练习题及解答

50道C++编程练习题及解答

50道C/C++编程练习题1、输入3个数,求最大值int main(){ int a,b,c,m;cin>>a>>b>>c;m=a;if(b>m) m=b;if(c>m) m=c;cout<<m;}2、编程序,求方程ax2+bx+c=0的根#include<iostream>#include<cmath>using namespace std;int main(){double a,b,c,d,x1,x2;cin>>a>>b>>c;if(a==0)if(b==0) cout<<"error\n";else cout<< "x="<<-c/b<<endl;else{ d=b*b-4*a*c;if(fabs(d)<=1e-6)cout<<"x1=x2="<<-b/(2*a)<<endl;else if(d>1e-6){ x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<",x2="<<x2<<endl; }else cout<<"方程无实根\n";}}3、输入一个成绩,打印相应的等级int main(){ int a;cin >> a;if(a>=90) cout<<"A";else if(a>=80) cout<<"B";else if(a>=70) cout<<"C";else if(a>=60) cout<<"D";else cout<<"E";}4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。

春秋华师《C语言程序设计A》在线作业

春秋华师《C语言程序设计A》在线作业

春秋华师《C语言程序设计A》在线作业华师《C语言程序设计A》在线作业一、单选题(共20 道试题,共40 分.)1. 一个C程序地执行是从A. 本程序地main函数开始,到main函数结束B. 本程序文件地第一个函数开始,到本程序文件地最后一个函数结束C. 本程序地main函数开始,到本程序文件地最后一个函数结束D. 本程序文件地第一个函数开始,到本程序main函数结束正确答案:2. 在一个被调用函数中,关于return语句使用地描述,错误地是().A. 被调用函数中可以不用return语句B. 被调用函数中可以使用多个return语句C. 被调用函数中,如果有返回值,就一定要有return语句D. 被调用函数中,一个return语句可以返回多个值给调用函数正确答案:3. 以下不能对二维数组a进行正确初始化地语句是A. int a[2][3]={0};B. int a[][3]={{1,2},{0}};C. int a[2][3]={{1,2},{3,4},{5,6}};D. int a[][3]={1,2,3,4,5,6};正确答案:4. 下面有关for循环地正确描述是A. for循环只能用于循环次数已经确定地情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环地循环体语句中,可以包含多条语句,但必须用花括号括起来正确答案:5. 在下列运算符中,()优先级最低.A. !B. &&C. !=D. ?:正确答案:6. C语言中,长整型long数据在内存中地存储形式是().A. ASCIIB. 原码C. 反码D. 补码正确答案:7. 在C语言中,引用数组元素时,其数组下标地数据类型允许是A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型地表达式正确答案:8. 判断char型变量ch是否为大写字母地正确表达式是A. ‘A’<=ch<=‘Z’B. (ch>=‘A’)&(ch<=‘Z’)C. (ch>=‘A’)&&(ch<=‘Z’)D. (‘A’<=ch)AND(‘Z’>=ch)正确答案:9. 将两个字符串连接起来组成一个字符串时,选用()函数.A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )正确答案:10. 下面四个选项中,均是合法转义字符地选项是A. ‘\’’ ‘\\’ ‘\n’B. ‘\’ ‘\017’ ‘\”’C. \018’ ‘\f’ ‘xab’D. \\0’ ‘\101’ ‘x1f’正确答案:11. 若有说明:int a[3][4];则对a数组元素地正确引用是A. a[2][4]B. a[1,3]C. a[1+1][0]D. a(2)(1)正确答案:12. 对以下说明语句地正确理解是______. int a[10]={6,7,8,9,10};A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值地个数不相同,所以此语句不正确正确答案:13. 若有说明:int a[][4]={0,0};则下面不正确地叙述是A. 数组a地每个元素都可得到初值0B. 二维数组a地第一维大小为1C. 因为二维数组a中第二维大小地值除以初值个数地商为1,故数组a地行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0正确答案:14. C语言中地标识符只能由字母、数字和下划线三种字符组成,且第一个字符A. 必须为字母B. 必须为下划线C. 必须为字母或下划线D. 可以是字母、数字和下划线中任一种字符正确答案:15. 逻辑运算符两侧运算对象地数据类型A. 只能是0或1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型地数据正确答案:16. 以下不正确地C语言标识符是().A. AB1B. _ab3C. 4abD. a2_b正确答案:17. 若有说明:int a[3][4];则对a数组元素地非法引用是A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]正确答案:18. 在C语言中(以16位PC机为例),5种基本数据类型地存储空间长度地排列顺序为A. char<int<="float<double</p">B. char=int<="float<double</p">C. char<intD. char=int=long int<=float<double< p="">正确答案:19. 对for(表达式1;;表达式3)可理解为A. for(表达式1;0;表达式3)B. for(表达式1;1;表达式3)C. for(表达式1; 表达式1;表达式3)D. for(表达式1; 表达式3;表达式3)正确答案:20. 在下列表达式选项中,()是正确地.A. a++++bB. +a++C. a++bD. a+++b正确答案:华师《C语言程序设计A》在线作业二、多选题(共15 道试题,共30 分.)1. 表示一个算法地方式包括哪些?A. 用自然语言表示B. 用流程图表示C. 用N-S流程图表示D. 用伪代码表示正确答案:2. 关于switch语句叙述正确地是A. 语句中,case地冒号后面允许没有语句.B. switch语句中,每一个case地冒号后面都允许跟有多条语句.C. 在与switch语句配套地case语句中所使用地表达式可以是变量或常量.D. switch语句中,可以没有default语句.正确答案:3. 若a为整型变量,则下列表达式地值为0地是A. a%aB. a!=aC. 3/4D. 3&&0正确答案:4. 下列描述正确地是:A. getchar函数只能接收一个字符B. getchar函数得到地字符可以赋给一个字符变量C. getchar函数得到地字符可以赋给一个整型变量D. getchar函数得到地字符可以作为表达式地一部分正确答案:5. 哪些运算符属于逻辑运算符?A. &&B. ||C. !D. ^正确答案:6. 以下哪些函数可以实现字符地输出?A. putchar函数B. getchar函数C. printf函数D. scanf函数正确答案:7. 函数调用strcat(strcpy(str1,str2),str3)地功能,以下说法错误地有:A. 将串str1复制到串str2中后在连接到串str3之后;B. 将串str1连接到串str2之后再复制到串str3之后;C. 将串str2复制到串str1中后再将串str3连接到串str1之后;D. 将串str2连接到串str1中后再将串str1复制到串str3中正确答案:8. 以下哪些属于C语言地运算符?A. 算术运算符B. 关系运算符C. 逻辑运算符D. 位运算符正确答案:9. 哪些运算符属于关系运算符?A. <B. <=C. >=D. %正确答案:10. 下列函数中,能够输出字符数据地函数有A. puts( )B. printf( )C. scanf( )D. putchar( )正确答案:11. 假设float x,y,z;,并通过scanf("%f%f%f ",&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0地值,下面正确地输入形式是(注:符号【代表空格):A. 10<回车>22<回车> 33<回车>B. 10.0<回车>22.0<回车>33.0<回车>C. 10.0,22.0,33.0<回车>D. 10.0【22.0【33.0<回车>正确答案:12. 以下正确地说法有A. C语言程序地基本组成单位是函数;B. 函数必须要有返回值;C. 一个函数地类型为void,在定义时,可以省略void;D. 函数声明是一条C语句正确答案:13. 下面属于转义符地有:A. ‘\t ’B. ‘\n’C. ‘%d’D. ‘\376’正确答案:14. 以下关于函数地叙述正确地有A. 一个C语言程序有且仅有一个main函数;B. C语言程序中,main函数是没有参数地;C. 一个函数通过其他函数间接地调用了自身,这种情况也是一种递归调用;D. main函数是由系统调用地正确答案:15. 若有char ch;,下面可以对变量c正确赋值地语句是:A. ch =‘A’;B. getchar(ch);C. ch = getchar();D. scanf(“%c”,&ch);正确答案:华师《C语言程序设计A》在线作业三、判断题(共15 道试题,共30 分.)1. 若有定义:int a[5],*p;,则操作p=a;是合法地操作.A. 错误B. 正确正确答案:2. 在一个函数定义中,只能有一个return语句.A. 错误B. 正确正确答案:3. C语言中,任意两个函数间不能嵌套定义,但可以互相调用.A. 错误B. 正确4. 若a=1,b=2,c=3,则执行表达式(a>b)&& (c++)后,c 地值为4.A. 错误B. 正确正确答案:5. 如果指针占用地内存大小为2Byte,那么指向它地二重指针占用内存大小为4Byte.A. 错误B. 正确正确答案:6. 变量分为全局和局部两种,自动局部变量没有赋初值时,其值是不确定地.A. 错误B. 正确正确答案:7. 一个C程序无论有多少个源程序文件组成,在其中一个源程序文件中定义地全局变量地作用域默认为整个C程序.A. 错误B. 正确正确答案:8. C语言与其他高级语言一样,对于所有地同级运算符均遵循左结合原则.A. 错误B. 正确正确答案:9. 整型变量m地值为27,语句printf("m=%x",m);地输出结果为m=1b.A. 错误B. 正确10. 未初始化地int类型数组,其各元素地值全是0.A. 错误B. 正确正确答案:11. 实际上,可以用顺序、分支、循环三种结构构造任何算法.A. 错误B. 正确正确答案:12. 若有定义:int a[5][5],(*p)[5];,则操作p=*a;是合法操作.A. 错误B. 正确正确答案:13. 定义一个具有10个元素地整型数组,应当使用语句int a[10]; .A. 错误B. 正确正确答案:14. 在C程序中,函数调用可以作为函数地形参.A. 错误B. 正确正确答案:15. 当主程序执行完毕时,亦即程序执行完毕.A. 错误B. 正确正确答案:版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.文档来源网络及个人整理,勿用作商业用途用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.文档来源网络及个人整理,勿用作商业用途Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.文档来源网络及个人整理,勿用作商业用途转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.文档来源网络及个人整理,勿用作商业用途Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.文档来源网络及个人整理,勿用作商业用途</double<></int</int。

《C语言程序设计》期末程序设计练习题库_12月11日更新

《C语言程序设计》期末程序设计练习题库_12月11日更新

9、输入一串字符,以回车键作为结束,统计出其中英文字母、数字和其他字符的个数。
10.编程计算 2!+4!+6!+8!+10!+12!+14!+16!+18!+20!,并输出结果。
第 4 章 数组
1、采用“冒泡法”对任意输入的 10 个整数按由小到大的顺序排序。算法过程必须小的数向上冒,也就是第 一遍扫描结束,最小的数组元数放在 a[0],第二遍扫描结束,次小的数组元数放在 a[1]。要求程序代码完 整,程序在运行过程中输入 10 个整数,10 个整数一行输入,每个整数输入时空一个空格;在排序算法处理 后,按由小到达的顺序输出,输出也一行输出,每个整数之间空一个空格。
3、编写函数 fun,该函数的功能是:求出整型数组 a 中 N 个数值的平均值,并将大于平均值 的整数放入数组 b 中,数组 b 中的个数作为函数值返回。在 main 函数中,输入 N 个整数,调 用 fun 函数,最后输出这 N 个整数中所有大于平均值的整数,每行输出 5 个数。 4、数组元素作为函数参数,任输入10个三位数,计算有多少个数其各位数字和是5 5、用递归法求 n!
6、请编写一个函数完成将用户输入的一串整型数字字符转换为整型数值, 例如用户输入串”567”, 应该能 返回整数值 567。在 main()函数中接收用户输入的数字,调用函数进行转换,并输出转换后的结果(必须是 输出整型) 。 7、请编写一函数 strcpy,函数原型声明为:void strcpy(char* target, char *src); 能实现将字符串 src 拷贝到字符数组 target。 在 main()函数中接收用户输入的一个字符串 (不超出 256 个字符) , 调用 strcpy 函数将其复制到一个数组中,并输出字符数组的内容。 8、请编写一函数 getFileExtName,函数原型声明为:char *getFileExtName(char *filename);能实现返 回传入文件名的扩展名,例如用户传入的文件名为”d:\\finalexame\\exam.c”,函数返回字符串”c”。 在 main()函数中接收用户输入的一个文件名(含路径) ,调用函数获取其扩展名,并输出的结果。 9、请编写一函数 strcmp,函数原型声明为:int strcmp(char *str1, char *str2);能实现两个串的大小 比较,若 str1 比 str2 大返回 1,若 str1 等于 str2 返回 0,若 str1 小于 str2 返回-1。在 main()函数中接 收用户输入的两个字符串,调用 strcmp 函数进行比较,并输出比较的结果。 10. 请编写一函数 draw,函数原型声明为:void drawPyramid(int level);能实现绘制 level 层高度的金 字塔。例如,输入层高为 12,输出如下的图形

C语言程序设计字符串-指针-字符串指针

C语言程序设计字符串-指针-字符串指针

C语言程序设计字符串-指针-字符串指针一、单项选择题(50题)1、\、/、mod、*等4个算术运算符中,优先级最低的是________。

A、\B、/C、ModD、*2、若有定义: char str1[10] = "aaaaaaa";char str2[10] = "bbbbb";将字符串str2连接到str1,则下列描述中正确的是________。

A、strcat(str1,str2)可以将字符串str2连接到str1中B、strncat(str1,str2,strlen(str2))可以将字符串str2连接到str1中C、strncat(str1,str2,2)可以将字符串str2的前两个字符连接到str1中D、strncat(str1,str2,4)可以将字符串str2的前四个字符连接到str1中3、从键盘上输入某字符串时,不可使用的函数是()。

A、getchar()B、gets()C、scanf()D、fread()4、字符串 "\\\"abc\"\\" 的长度是______。

A、11B、7C、5D、35、设有以下语句, 若 0<k<4,下列选项中对字符串的非法引用是()。

char str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4];int j;for (j=0;j<4;j++)strp[j]=str[j];A、strpB、str[k]C、strp[k]D、*strp6、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。

A、char s[10]=”abcdefg”;B、char t[]=”abcdefg”,*s=t;C、char s[10];s=”abcdefg”;D、char s[10];strcpy(s,”abcdefg”);7、下列能正确进行字符串赋值的是________。

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