编写函数char strcat(char str1,char str2),将串str2连接到str1末尾得到一个长串(用指针)方法二
- 格式:doc
- 大小:20.00 KB
- 文档页数:1
第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语言程序设计预测试题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(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语言期末考试试题及答案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变量的值为()。
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/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语言程序设计模拟试题(一)一、单项选择题。
(每小题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语言填空题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是一款集成开发环境(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.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 判断下列叙述的正确性,若正确在()内标记√,若错误在()内标记⨯。
杭州电子科技大学信息工程学院考试试卷(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 )。