C语言基础C语言有哪些数据类型?整型、实型、字符型。
为什么程序中的变量使用前必须先定义?C程序用到的变量都必须进行定义,即事先定义其类型。
变量一经定义,系统就给分配存储空间,以存放相应常量。
算法和程序的区别是什么?算法是有穷的,程序是无穷的;算法和程序的描述方法不一样,程序是用计算机语言描述的;算法一般不可执行,程序可以执行思路。
C语言源程序的文件的后缀是经过编译后生成文件的后缀是经过连接后生成文件的后缀C数学式sin35°+xcos60的C语言表达式为表达式3*9%2+9%2*5表达式6.0*(1/2)变量代表内存中具有特定属性的一个存储单元,它用来存放也就是符若a是实型变量,在执行了a=5后,若a和b类型相同,在执行了a=b编制C语言程序并上机运行的一般过程是编辑、编译、连接、运行。
C且第一个字符C语言的关键字。
顺序结构、选择结构和循环结构的程序设计请写出switch语句的一般格式及注意事项。
一般格式:Switch(表达式){case常量表达式1:语句组1;break;Case常量表达式2:语句组2;break;……Case常量表达式n:语句组n;break;Default:语句组n+1;}1switch中表达式可以是任意类型,常用的是字符或整型。
2每个常量表达式的值不能相同。
3语句组可以为任意语句。
4break可以省略,然后执行完本组语句后紧接着执行其后的i+1组语句。
5多个case可以用一组执行语句。
6break的作用是跳出switch,执行switch下面的语句。
试说明while语句和do-while语句的异同:二者相同点在于都可以进行次数确定的循环体的次数。
不同点在于do-while现执行循环中的语句,然后再判断条件是否为真,若为真则继续循环;若为假则终止循环。
因此,do-while循环至少要执行一次循环语句。
而while则是先判断条件后执行循环体简述for语句的执行过程及注意事项:计算机表达式1表达式2非0?执行语句s计算机表达式3循环结束,执行下面的语句注意事项:for语句中的3个表达式可以省略但后面的分号不能省略。
试说明continue语句和break语句的作用及区别:break的功能是跳出本层循环(对多层循环而言),接着执行下面的语句。
continue语句的作用是执行continue时,循环体中continue下面的语句都不执行,重新进行循环判断以决定是否继续进行下次循环。
Break和continue的区别在于:continue只结束本次循环重新进行下次循环判断,而break结束整个循环。
结构化程序的三种基本结构包括C语言提供的选择结构语句有有一段程序为:while(表达式)语句1;语句2;……当表达式的值为非零时,do-while语句中while后的表达才能正常退出循环。
在C语言程序的循环体内,若遇到则立即停止当前循结束本次循环,进行下一次循环判断。
C语言中,唯一的三目运算符&.&.C语言中,运算符优先级最高的是CC语言中,要求运算符数据必须是整型的运算符是%C语言中,语句x=!a==b;的执行3个关于C语言的结论:可以用while语句实现的循环一定可以用for语句实现;可以用for语句实现的循环一定可以用while语句实现;可以用do-while语句实现的循环一定可以用while语句实现。
C语言程序中,continue语句只能C语言中,if和switch语句属于C语言中,语句while后一对圆括C语言中,关于scanf()函数正C语言中,与语句while(!E)括号中的表达式含义等价的是C语言程序中,for循环语句中的表达式2为一非零常数且循环体内无break语句及goto语句,则设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf (“i=%d ,f=%f ”,&i ,&f );为了把100和765.12分别赋给i 和f ,正确的输入为设变量m ,n ,a ,b ,c ,d 均为0,执行(m=a==b )∣∣(n=c==d )后,m ,n设变量m ,n ,a ,b ,c ,d 均为1,执行“(m=a ﹥b )&&(n=a ﹥b )”后m ,n若x 和y 都是int 型变量,x=100,y=200,且有下面的程序片段:printf (“%d ”,(x ,y ));此程序片段的输出结果是200。
当执行以下程序段时 x=-1;do {x=x*x }while(!x )执行语句:for (i=1;i++﹤4;)后;变量i 的值是5。
数组若定义“int a[5];”,试说明引用a 、a[0]和&a[1]的含义。
a 代表数组名,a[0]代表数组的第一个元素,&a[1]代表数组第二个元素的地址。
在C 语言数值表示中,‘a ’“a ”相同吗?不同,‘a ’表示一个字符,而“a ” 表示一个字符串。
已知:int s[2][3];试说明数组s 在内存存储所占的字节数。
因为变量的数据类型int 在使用内存空间的时候一个数据占用2个字节的存储空间。
而数组s[2][3]内部有6个整型的数据,所以一共要占用12个字节。
C 在C语言中,二维数组元素在内存 若定义了一个二维数组int[3][4];且改数组的起始地址为1000,则元素a[1][3]的地址为一个整型变量占两个字节) 已知:char str[15];str数组的一维数组定义中表示数组长度的同一数组中的所有元素所占字节引用数组元素越界时,CStatic char str[]=“ok ”;与static char c[]={‘o ’‘k’}在定义int a[5][4];之后,对a 在执行char str[10]=“China\0”;strlen (str )的结果是5。
在C 语言中,引用数组元素时,其字符串“That ”小于字符串“The ”。
若有说明:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};,则数组第一维的大小为3。
若数组a 有m 列,则a[i][j]之前的数组元素个数为i*m+j 。
函数调用:strcat (strcpy (str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后。
函数写出函数定义、函数声明、函数调用的一般格式及注意事项。
函数定义:函数类型 函数名(形式参数列表) ﹛说明部分; 语句部分; ﹜函数声明:其形式为:函数类型 函数名(); 函数的调用:主要函数通过传递一定的信息来使用被调函数的功能。
(1)无返回值的函数调用格式(2)有返回值的函数调用格式 在调用一个函数之前,应考虑哪些问题?若被调函数和主调函数在一个编译单位中,在书写顺序上被调函数在主调函数之前出现;或者被调函数虽然在主调函数之后出现,而被调函数的数据类型是整数型或字符型,可不对被调函数加以说明。
试说明实参和形参的关系。
形参和实参的关系总的来说是一一对应的关系。
具体是:1个数相等2顺序一致3类型相符(或实参可以给形参正确的赋值)。
从用户角度看,若有一下函数调用语句:func (a+b ,(x ,y ),fun (n+k ,d ,(a ,b ));在此函数调用语句中实现的个数是3。
输入带空格的字符串时,应该用gets ()函数。
求字符串长度的函数是到字符数组中。
变量的作用域是指变量的有效范围,在作用域内可以引用该变量。
从函数形式看,函数的返回值是通过函数体中的被调函数不带回任何值。
一般要对被调用函数做函数声明。
C语言规定不能嵌套定义函数,但在不同的函数中定义的变量名若 C 语言总是从主函数开始执行。
在进行函数调用时,被调函数的形 若函数类型和return语句中表达若以数组元素作为函数的实参,则C 语言中,当用数组名做形参时,形参数组改变可以使实参数组随之改变。
允许函数递归调用。
函数形参的作用范围只是局限于所定义的函数内。
一个C 源程序至少包括一个函数,C函数定义的形参可以有一个、多个,也可以没有。
C 语言程序总是从main 函数开始执行。
C 构成。
在一个源程序文件中定义的全局指针对指针变量做自加1操作后,一定增加一个字节吗?为什么?不一定,和数据的类型有关。
分析“*”在定义指针和引用指针变量时有什么不同?定义语句中“p ”前面的“*”是说明p 的类型是指针变量。
而除定义语句外的其他语句中出现的“*p”里的“*”是对p所指变量的引用,即代表它指向的变量。
试说明指针变量可以进行哪些运算。
指针变量可以进行赋值和简单的加减运算。
才能将另一个变量的地址存放在改变量中。
若指针变量p指向整型变量i,则i若指针变量p指向float型数组a[10],且a的首地址为1000,则执行p+3后,p应该指向地址为1012单元。
一个指定长度的存储空间。
C语言中,若int a[5],i,*p=a;,则与&a[i]等价的指针表示是a[i]已知:int a[]={1,3,5,7,9},*ip=a;表达式*ip+2已定义的一个指针变量可以存放指针变量作为形参时,指针说明时指定的数据类型是指型。
指针变量赋值时,赋的值是一般变若有定义:int x,*pb;则正确的若有定义:char ch;(1)使指针p可以指向变量ch的定义语句是char *p=&ch。
(2)使指针p指向变量ch的赋值语句是p=&ch。
(3)通过指针p给变量ch读入字符的scanf函数调用语句是scanf(“%c”,p)。
(4)通过指针p给变量ch赋字符的语句是ch=*p。
(5)通过指针p输出ch中字符的语句是putchar(*p)。
数据结构概论通常将数据结构表示为一个二元组(D,R),其中D和R分别表示什么?D代表数据节点的集合,R是D上的关系。
什么是数据的逻辑结构?什么是数据的物理结构?一般情况下,两者之间有什么关系?这种关系是如何反映的?数据的逻辑结构是数据间的外在联系(与计算机存储无关);数据的物理结构是数据在计算机中的存储表示,也称数据的存储结构。
一般情况下,二者的关系是相互运算,如何把逻辑结构数据存入计算机;如何把机内表示的数据取出来参加运算,在逻辑结构和物理结构之间转换以及其他运算过程中,数据如何组织才能即节省时间,又节约空间,更重要的是机内表示的数据取出来后要完全体现其逻辑结构。
什么是算法?算法与程序有何区别与联系?算法就是解决特定问题的的方法。
而程序是通过某种语言将算法的具体实现手段。
算法的时间复杂度仅与问题的规模相关吗?不是。
算法的时间复杂度还与算法中的语句频度、数据的状态等因素有关。
选择合适的存储结构,通常考虑的因素。
数据结构按节点间的关系,可分为4树形结构反映节点间的关网状结构反映节点数据的逻辑结构是数据之间的外在联系(与计算机存储无关)。