SQ每日练习(三)

选择题

1.   B   静态链表用数组模拟链表,使用数组下标表示指针   

2.   D   线程是进程的组成部分,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

3.   B

 

选择题4:C   TCP协议将应用层的字节流分成多个字段

 

选择题5:D     不一一叙述

 

 

简答题1:简述数组与指针的区别?

       答:数组是一连续的记忆体区块,必须要先决定配置容量和存放的资料型态。

              当数组作为函数的参数进行传递时,数组就自动退化为通指针类型

              指针是指针变量的简称,这个变量存放的地址值,是可以改变的;

 

 

简答题:

2.const 含义:限定一个变量不允许被改变,产生静态作用

              作用:const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。

                       被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

                       (1)修饰普通变量 const无论是放在数据类型的前面还是后面,都是将变量饰为常量

                       (2)和指针变量结合使用,从constk开始往右看,先遇到*p则*p不可以被改变,先遇到p,p不能被改变

3.const与#define相比,有何优点

              ①define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。

           ②const常量可以进行调试的,define是不能进行调试的,因为在预编译阶段就已经替换掉了

             

 

4.

什么是预编译

预编译就是指程序执行前的一些预处理工作,主要指#表示的。

何时需要预编译

1.总是使用不经常改动的大型代码体。
2.
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

两种格式区别

编辑

文件包含有两种格式,分别是:#include"file" #include <file>

这两格式的区别在于:

1.使用双引号,系统首先到当前目录下查找被包含的文件,如果没找到,再到系统指定的"包含文件目录"(由用户在配置环境时设置)去找。

2.使用尖括号:直接到系统指定的"包含文件目录"去查找。

通常使用双引号比较保险

文件包含文件包含优点

编辑

一个大程序,通常分为多个模块,并由多个程序员分别编程。有了文件包含处理功能,就可以将多个模块共用的数据(如符号常量和数据结构)或函数,集中到一个单独的文件中。这样,凡是要使用其中数据或调用其中函数的程序员,只要使用文件包含处理功能,将所需文件包含进来即可,不必再重复定义它们,从而减少重复劳动和定义不一致造成的错误。

文件包含例子

编辑

文件F1.c

?

1

2

3

4

5

#define PI 3.1415926

 

#define R 3

 

#define S PI*R*R

文件F2.c

?

1

2

3

4

5

6

7

8

9

10

11

12

13

#include "F1.c"

 

#include "stdio.h"

 

main()

 

{

     

    float area=0;

  

    printf("area=%f\n",S);

 

}

VC++6.0的运行结果为:

?

1

area=28.274333

文件包含文件包含特点

编辑

文件包含的特点:

编译预处理时,预处理程序将查找指定的被包含文件,并将其复制插入到#include命令出现的位置上
常用在文件头部的被包含文件,称为标题文件头部文件,常以“h”(head)作为后缀,简称头文件。在头文件中,除可包含宏定义外,还可包含外部变量定义、结构类型定义等。

一条包含命令,只能指定一个被包含文件。如果要包含多个文件,则要用多条包含命令。例如,文件f1.h中要使用到文件f2.h和文件f3.h的内容,则可在文件f1.h中用两个文件包含命令分别包含文件f2.h和文件f3.h,即在文件f1.h中定义:
#include"f2.h"
#include"f3.h"
  在使用多个#include命令时,顺序是一个值得注意的问题。上例中,如果文件f1.h包含文件f2.h,而文件2要用到文件f3.h,则在f1.h#include定义的顺序应该是:
#include"f3.h"
#include"f2.h"
  这样文件f1.c和文件f2.h都可以使用文件f3.h的内容。

文件包含可以嵌套,即被包含文件中又包含另一个文件。例如,文件f2.h中要使用到文件f1.h的内容,文件f3.h要使用到文件f2.h的内容,则可在文件f2.h中用#include"f1.h"命令,在文件f3.h中用#include"f2.h"命令,即定义如下:
  文件f1.h
{
……
}
  文件f2.h
#include"f1.h"
intmax()
{
……
}
  文件f3.h
#include"f2.h"
main
{
……
}

#include命令一般用来把C语言提供的标准库头文件(如stdio.hmath.h)包含到程序中。程序员也可以自己定义一个头文件,写入一些常用的函数原型、宏定义、结构和联合类型定义等,然后将它包含到程序中。例如:#include"stdio.h" (标准输入/输出函数库)

#include"math.h" (数学函数库)

#include"stdlib.h" (常用函数库)

#include"string.h" (字符串处理函数库)

 

 

 

 

 

 

int a[5] : {1,2,3,4,5};
数组名a代表整个数组的地址,其值与数组中第一个元素的地址相同。
a+1相当于一个指向数组a的指针往后位移一个元素的距离。
*+(指针)== 指针指向地址中的内容。
printf( “%d”, *(a+1)) === 2;

&a为整个数组的地址+1后,相当于一个指向数组a的指针往后位移整个数组的距离。即int* ptr = (int*)(&a+1);

ptr-1是指针ptr往前移动一个单位(int型指针,移动单位为4字节)。
最后指向数组中的5。
printf(“%d”, *(ptr-1));===5

 

             

第二题:
主函数中调用了abc函数,将字符串str的地址传给了abc函数,
在abc函数中,利用a做字符数组str的下标,遍历字符串,将字符串中不是字符‘c’的其余字符,利用循环,重新赋值给字符数组str中下标为b的数组元素。

 

SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。 它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。    结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、DB2、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。    美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSI SQL-92。ANSI SQL-92有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准。    SQL语言包含4个部分:    数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。    数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。    数据查询语言(DQL),例如:SELECT语句。    数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。    SQL语言包括种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值