pb12

pb12
pb12

PB12 预览版

大家盼望已久的POWERBUILDER12终于出来了个预览版(CTP)。

1. 下载安装

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/CommonInstaller.zip

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/PowerBuilder120.zip

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Support_PB.zip

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Pbvm.zip

如果还想安装SQLWhere11,则可下载:

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/SQLAnywhere11.zip

2. 安装要求

PB12因为基于微软的VS和WPF技术,所以安装所需要的硬件和软件环境都很高。安装之前请确认已安装了.net framework 3.5 (SP1),如果还要https://www.360docs.net/doc/5d7995241.html,能运行,请安装好VS2008 (SP1)。如果在安装时出现:

“One or more components not found, please reinstllall the application” 这样的提示或在启动https://www.360docs.net/doc/5d7995241.html,时出现,则有可能是PBSHEEL.EXE程序的注册问题,也可能与使用中文版本的VS2008团队版本有关,可以执行 CMD命令: pbshell.exe /setup 看看是否有效果。如果还不行,请从后面所列论坛查找答案。

3. 文档资源

PowerBuilder 12 Features for Public CTP

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Sybase_PB12_FeaturesforPublicCTP.pdf

?What's New in PowerBuilder 12 Classic

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Sybase_PB12_WhatsNewinPowerBuilder12classic.pdf ?PowerBuilder .NET Features Guide https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Sybase_PB12_.NET_FeaturesGuide.pdf ?Testing Guidelines

https://www.360docs.net/doc/5d7995241.html,/beta/pb12ctp/Sybase_PB12_CommunityTechnologyPreview_TestGuidelines.pdf

4. 论坛资源

这次随着PB12预览版的推出,SYBASE不再像原来那样通过新闻组的形式提供在线服务,而是采用更直接的论坛形式为使用者解疑,地址为:https://www.360docs.net/doc/5d7995241.html,/。不过论坛分类不明显,想进入者请首先注册一个账号。

5. 使用

PB12版本的IDE已经被划分了2部分(不知道以后的正式版是否还是这样?),1个是基于我们以前所见的传统IDE,跟以前版本长得一个样,没太多差别,另1个可就不一样了,因为是基于VS内核的,并使用了WPF技术,所以是个全新的IDE(这也是必须安装VS2008的原因,因为使用了VS Shell)。

关于传统IDE就没必要多费文字了,这里只谈谈https://www.360docs.net/doc/5d7995241.html,的IDE:

1)首先启动PowerBuilder .NET 12.0

2)新建解决方案

点击File->NEW菜单,在对话框中选择Solution,再点击Finish按钮,它会要求你选择保存的方案路径和文件名(扩展名为pbwx),确定后就为你建好了方案,界面返回:

再点击File->NEW菜单,在对话框中选择TARGET,再选择WPF WINDOW APPLICATION、.NET ASSEMBLY,.NET WEB SERVICE 三个之一(按需要选择)。例如我们要建一个WPF窗口,那就选择第1个:

后面按对话框的要求继续进行下去即可。如果需要将原有的非WPF应用转换过来,在这里选择

“Convert an existing Win32or Windows Forms target to WPF“即可。

在解决方案的“引用”节点下的文件,就像https://www.360docs.net/doc/5d7995241.html,中的各语言的命名空间库(例如C#中我们都需要这样使用using namespace_lib 的形式将命名空间加入)。

再继续为Target增加窗口、数窗等对象。

一些特点总结:

1)一个WPF窗口及其控件因为是基于XAML描述的,所以我们可以再画板中利用属性窗口更改属性,也可直接在XAML窗口修改描述,非常方便,不懂XAML的人也能非常简单地设置有关属性。

2)当前打开的WPF窗口,会在画板上开2个小窗,1个是外观窗口,用于设置控件和属性,1个是脚本代码窗,这样我们就不需要在外观和脚本之间来回切换了。

3)脚本编写时,https://www.360docs.net/doc/5d7995241.html,的在线代码提示功能(AutoScript)响应很快,并且其功能已远非传统版本可比,因为它是基于VS的,所以与VS下的代码编写几乎无异。

4) https://www.360docs.net/doc/5d7995241.html,的GUI控件很漂亮,同时可加入很多VS中的控件。

:-) https://www.360docs.net/doc/5d7995241.html,就像个VS2008的PB#,希望SYBASE能尽快完善原有版本,推出正式版,并最终做得成功。

PB12 破解方法

1.在官网上(https://www.360docs.net/doc/5d7995241.html,)下载pb12评估版本(破解后和正式版一样的)

2.在安装目录下找到文件:pbsys120.dll

3.使用ultraedit打开pbsys120.dll修改如下:

6A01E89209070083C408 改为90909090909090909090

85FF7518 改为85FFeb18

这个破解只能针对传统IDE,对于.NET无效。

如果想用.NET又过期了的,有个办法就是把时间调到你安装PB12后一个月内的时间就行了。

PB12技术交流群:62806499

https://www.360docs.net/doc/5d7995241.html,的测试点:

? PowerBuilder .NET 界面

? WPF 应用

? WPF 数据窗口

? WCF 客户端

? PowerScript 语言加强

? ADO.NE T加强

以下都是基于windows xp sp2专业版本的测试,本人电脑双核CPU,2G内存 dell insprion 6400笔记本

因为https://www.360docs.net/doc/5d7995241.html,基于VS的内核,打开慢,第一次打开超过20s,如果再次打开超过10s,并且耗用的内存也很大。

上图是打开两个对象,一个window和一个datawindow,内存耗用高达800多M,如下图。这就需要性能较高的电脑运行才正常。并且打开window时,这个window上就一个数据窗口控件和几个按钮,但速度也超过10秒时间才完全打开。这方面应该sybase想办法优化一下。

? PowerBuilder .NET 界面测试

在作窗口的时候有选择布局的选择,当选择grid时,所作的窗口就增加了这个控件,system.windows.controls.grid,最外层才是

Sybase.powerbuilder.wpf.controls.window,所以窗口增加的控件都是基于system.windows.controls.grid的。至于应该选择什么样布局的窗口,在选择窗口的时候有说明。如图

现在窗口的对像里面加上自动resize功能,可以对应对窗口的相对位置不变,但对于复杂一些还得编写代码来做。如以下按钮就是对左和下的位置相对不变。

这边按钮对象增加了皮肤的属性,如下图的按钮skin选择为Metal,https://www.360docs.net/doc/5d7995241.html,的beta 版本皮肤有两个,一个是pbdefault,一个是 Metal,如果正式版本肯定会增加多个。当然也可以自定义制作或者从网络下载使用。有这个属性对于系统界面要求比较高的是一个不错的选择。不过没有发现窗口有这个属性。

对于tab控件,发现如果使用SKIN,则TAB的显示方法像KINDO里面的TAB页。如果支持的SKIN多,相信TAB控件显示类型就会更多,就不会再是简单的一种TAB类型。

因为https://www.360docs.net/doc/5d7995241.html,版本对菜单一些限制,不能进行测试,关于其它一些控件没什么多大变化,这里就不叙述。不过在窗口控件增加了一组layouts的组件,不过不知道该怎么用,也就没测试。

? WPF 数据窗口

下面就来看看数据窗口有哪些加强的方面。

像以前版本的数据窗口一样,选择它的数据源,这里选择GRID类型的数据窗口,如下图,在选择数据源时这里就可以对数据进行一些预览,添加删除等操作。

选择调整后的结果如下图

发现这里调整栏位大小时只能在预览里调整,并且预览里调整了,实际的数据窗口看起来并未调整,需要退出数据窗口再重新打开才能看得到实际的调整情况。如上图的remark栏位。

目前数据窗口内的对象都不支持background,beta版本没有放开这个功能。

有关于GRID的数据窗口增加了两个比较实用的功能,一个是GRID的线颜色可以进行调整,一个是双击标题可以进行排序。如下图:

如上图,GRID的线条改为红色,并且双击remark栏位有排序,上面自动有出现排序的图标。具体的语法是

dw_1.object.datawindow.grid.enablesort = 1//双击标题排序

dw_1.object.datawindow.grid.color=ll_color//改GRID的线条颜色

数据窗口的图形报表增加了几种类型,感觉还不错。像bubble,cone,cylinder等都是新的类型,如下图:

选择了几种预览了看一下

测试中发现很多BUG,例如以下图对双击栏位时,对于字符型的可以,如果对于日期型的出现下面提示的错误

时不时出现以下的问题

在选择数据窗口里面的一些特定的对象时出现以下错误

从测试情况来看,SYBASE工程师还需要大量的工作要完成。按照我的理解,即使https://www.360docs.net/doc/5d7995241.html,正式版本出来,估计会像当初从6.5的版本到7.0的版本一样,会出现很多的BUG,毕竟修改的东西太多了。当然作为PB程序员,很希望这次SYBASE能做得成功。

目前就测试以上部分,如果谁有兴趣测试,可以根据SYBASE提供的测试向导进行测试。

Beta Testing Guideline

C理论自测题及参考答案

一、单选题 1.以下关于函数的叙述中,正确的是。 A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值 B.在函数体中至少必须有一个return语句 C.在函数体中可以定义另一个函数 D. 在函数体中可以调用函数自身 2. 以下关于变量的叙述中,不正确的是。 A.一个变量的作用域完全取决于该变量声明的位置 B.全局变量可以在函数以外的任何位置声明 C.动态局部变量的生存期仅限于本次函数调用,无法将局部变量的值保存到函数下一次调用 D.用static声明一个变量是为了限制其他编译单位引用该变量 3. 以下选项是一个自定义函数的头部,其中正确的是。 A. int fun(int a, b) B. int fun(int a, int a) C. int fun(int a[],int b) D. int fun(static int a,int b) 4. 关于函数返回值,以下叙述中正确的是。 A. 函数返回值的类型由函数体内return语句包含的表达式类型决定 B.函数返回值的类型由函数头部定义的函数类型决定 C.若函数体中有多个return语句,则函数返回值是排列在最后的return语句中表达式的值D.若函数体内没有return语句,则函数没有返回值 5. 以下程序中main函数需要调用fun函数,所给选项中正确的调用语句是。 A. fun(1,2); B. fun((1,2)); C. f(); D. fun(fun(1)); void fun (int c) { printf(“%d”,c ); } 6. 已知函数f定义如下: void f(void) { printf(“ That’s great!”);} 则调用f函数的正确形式是。 A. f; B. f(); C. f(void); D. f(1); 7. 已知有函数f的定义如下: int f(int a, int b) { if (a int y; main() { int a=1; fun(a); } int fun(int x) { /* int 型变量声明位置*/

c语言复习题库(判断题)

判断题: 1.#include命令不能包含用户自己建立的头文件。错 2.用标识符来表示的常量称为符号常量。对 3.(int)x+y的作用是把x+y的结果转换成整型。错 4.如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转换。对 5.要使用printf函数输出字符“%”,需要在格式控制字符串中用连续两个%来表示。对 6.只有在a为真(非0)时,表达式a&b才需要判断b的值。对 7.switch语句中,case语句后如没有break,则顺序向下执行。对 8.do-while循环中,根据情况可以省略while。错 9.如果形参与实参的类型不一致,以实参类型为准。错 10.“一个单精度指针变量只能赋单精度变量的地址,单精度数组名,另外单精度指针变量的值”这种说法正确否?错 11.后缀为f或F的数为浮点数。对 12.‘5’于5是一样的。错 13.在赋值运算中,类型转换是由系统自动进行的。对 14.条件运算符?和:是一对运算符,不能分开单独使用。对 15.在switch语句中,每一个的case常量表达式的值可以相同。错 16.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成。对

17.全局变量的作用域一定比局部变量的作用域范围大。错 18.C程序一行只能写一个语句。错 19.C语言的数据类型只有int型、float型、char型。错 20.表达式1\4*3的值是0.75。错 21.关系运算符的优先级高于逻辑运算符(不包括!)。对 22.若有int i=10,j=0;则执行完语句if(j=0)i++;else i--;i的值为11。错 23.Continue语句的作用是结束整个循环的执行。错 24.若有定义语句:double a,*p=&a;定义语句中的*号是一个间址运算符,这种说法是否正确?错 25.注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。对 26.变量可以先使用后定义。错 27.在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。对 28.a=b+c=1是正确的赋值表达式。错 29.用putchar函数可以输出能在屏幕上显示的字符,也可以输出屏幕控制字符及其他转义字符。对 30.表达式‘c’&&‘d’的值为0。错 31.If(a=5)是合法的。对 32.静态(static)类别变量的生存期贯穿于整个程序的运行期间。对 33.源文件经过编译可得到目标文件。对

C语言期中测验试题及答案

2010-2011 C语言程序设计期中测验 填空题 16. 已知:int a=5,b=6,w=1,x=2,y=3,z=4;执行语句“(a=w>x)&&(b=y>z);”后b 的值为6 19. 已知:int k= 4,a=3,b=2,c=1;则表达式“k=n,用m除以n,求得余数r。若r为0,则n为最大公约数;若r不等于0,则进行如下迭代:m=n,n=r,即原除数变为新的被除数,原余数变为新的除数重复算法,直到余数为0为止。余数为0时的除数n,即为原始m、n的最大公约数。)求两个正整数的最大公约数。请填空。 #include int main() {int r,m,n; scanf("%d%d",&m,&n); if(m int main ( ) { int i , j ; for ( i = 0 ; i<10; i + + ) { j = i *10 + 6 ; if (j%3!=0) continue; printf ( “ %d “ , j ) ; } } 26.构成C语言程序的基本单位是函数。 28.下面程序的功能是在一个正整数的各数字中找出最大者,如4721,最大数为7。请填空。#include int main() { int n,max,t; max=0; scanf("%d",&n) ; do{ t= n%10 ; if(max

C语言复习题

判断题 1.函数若无返回值,则它一定无形参。× 2.在C 程序中, 函数既可以嵌套定义, 也可以嵌套调用。× 3.C程序总是从main( ) 函数的第一条语句开始执行的。√ 4.同一函数内可以有多个return语句。√ 5.main函数中的变量名不可以与其它函数相同。× 6.C程序可由多个函数组成,但必须有并且只有一个主函数main。√ 7.在C语言中的每个函数必须要有一个明确的return语句才能返回调用程序。× 8.主函数中定义的变量的作用域仅限于主函数内。√ 9.传值调用的形参只有在被调用时,才被创建(分配存储单元)。√ 10.C程序执行总是从第一个函数开始。× 11.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。× 12.被main函数调用的函数只能是库函数。× 13.函数说明指的是在程序中设定一个函数模块。× 14.在C程序中,若对函数类型未加说明,则函数的隐含类型为void。× 15.形参可以是常量、变量或表达式。× 16.函数调用可以作为一个函数的形参。× 17.C语言规定,实参应与其对应的形参类型一致。√ 18.定义函数时,形参的类型说明可以放在函数体内。× 19.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。√ 20.全局变量可以被任何一个函数中的任何一个表达式使用。×因为局部变量和全局变量重 名的时候全局变量就不能使用了 21.函数的隐含存储类型是extern。√ 22.定义在main函数后的任何函数都需在main中进行函数声明。× 23.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。× 24.C语言中数组名是指针常量。√ 25.构成数组的各个元素必须具有相同的类型。√ 26.数组元素的下标可以选用正整数或正实数。× 27.数组名可以作为参数进行传递。√ 28.若有定义“int a[4][5];”,则在数组元素a[3][3]前有12个元素。× 29.若有定义int a[3][4];则共有12个元素,最后一个元素是a[3][4]。× 30.字符数组中字符串可以整体输入输出。√ 31.若有定义语句“char s1[ ]="abc",s2[ ]={'a','b','c'};”,则数组s1和数组s2均有3个元 素。× 32.若a为一维数组名,则*(a+i)与a[i]等价。√ 33.函数原型为“void sort(float a[],int n)”,调用该函数时,形参数组a被创建,实参数组各 元素的值被复制到a数组各元素中。× 34.C允许对数组的大小作动态定义,即可用变量定义数组的大小。× 35.数组定义int a[10]; 也可以写成int a(10); 。× 36.在对全部数组元素赋初值时,可以不指定数组长度。√ 37.定义s为5×6(5行6列)的数组可写成float a[5,6]; × 38.数组定义int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。× 39.static char c[]={'a' ,' ','b','o','o','k','\0'};与static char c[]={'a' ,' ' ,'b','o','o','k'}; 等价。× 40.设已有说明:static char c1[10],c2[10]; 下面程序片段是合法的。c1={“book”}; c2=c1; ×

C程序期末试题

云南师范大学2009--2010学年下学期统一考试 高级语言程序设计试卷 学院信息学院专业年级2009 学号姓名 考试方式:闭卷考试时量:120分钟试卷编号:A卷 ( 注意:请将答案写在答卷上) 一、填空题(每空2分,共20分)。 1. 若字符串为”123450”,则该字符串的长度为⑴。 2. 程序段int i=0 ; while(s[i]=t[i]) {i++;}的作用是⑵。 3. 若有结构体类型变量定义为: struct person { char name[20]; char sex; int age; }s[3]={“zhangsan”,…f?,20,“lisi”,…m?,21,“wangwu”, …f?,20}; 则s[2].age的值是⑶。 4.有信息如下:陆云,女,19岁,如果采用第三题描述的结构体类型定义一个变量p如下:struct person p; 则对p的各个成员的赋值语句分别为 ⑷;p.sex=?f? ; p.age=19; 5. 设有定义float numbers[10], *nPtr=numbers+2; 则nPtr+2引用的是 ⑸的地址。 6. 当以读的方式“r+”打开文件“aa.txt”时,若该文件不存在,则⑹ 7. 设有定义int a[6]={1,2,3,4,5,6}, *p=a;则printf(“%d”,*p)的输出是⑺。 8. 如果要向内存动态申请能够存储一个int型数据的空间给变量p,则变量p 的定义为:⑻;申请空间的语句为:⑼。如果要让该空间存储数据1024,则赋值语句为:⑽。

二、简答题(每小题5分,共30分)。 (说明:若需要请写出相关的语句序列即可,不用写完整的程序) 1. 设有定义char str[ ]=”ApPle12PeaCh34BanaNa”;int i; ,编写语句序列,统计该字符串的长度,并输出该串中所有的大写字符。 2. 不使用库函数,编写函数void strCat(char *s,char *t),实现将字符串t连接在字符串s后的操作。 3. ①定义包含姓名name(不超过20个字符)、学号num(长整型)的结构体类型StuInfo; ②定义StuInfo型变量s。 ③编写语句序列,从键盘输入姓名和学号到变量s中。 4. 编写语句序列,利用fwrite函数将上一题中变量s的值存入文件“student.dat”。 5. 编写函数void max_min(int, int ),该函数实现对一组整型数据分别输出最大值和最小值以及它们的下标。 6. 设有定义int s=12345; int i ;int m ; 编写语句序列实现输出s的八进制数表示。 三、程序分析题(每题5分,共10分)。 1. 下面程序的运行结果是: #include void sub1(char *a,char *b) { char c; c=*a; *a=*b;*b=c; } void sub2(char a, char b) { char c; c=a; a=b ; b=c ; } void main() { char a=?A?, b=?B? ; sub1(&a, &b); putchar(a);putchar(b); sub2(a,b); putchar(a);putchar(b); printf(“\n”); sub2(a,b); putchar(a);putchar(b); sub1(&a, &b); putchar(a);putchar(b); }

C选择题

计算机等级考试习题集(二级C语言) 2015年10月26日

第一部分:选择题(每题2分,20题/套,共40分) 一、概述 1.在C语言中,合法的字符常量是(D )。 A.'字' B. "A" C. "ABC" D. '\x41' 2.下面叙述正确的是(A )。 A.程序中必须包含有输入语句 B. 变量按所定义的类型存放数据 C. main函数必须位于文件的开头 D. 每行只能写一条语句 3.错误的叙述是(D )。 A.一个C语言源程序可由一个或多个函数组成 B.若一条语句较长,也可分写在下一行上 C.C程序必须包含一个main( )函数 D.构成C语言源程序的基本单元是算术表达式 4.(A )是关于C语言数据类型的正确叙述。 A.变量必须先定义后使用 B. 不允许使用空类型 C. 枚举类型不是基本类型 D. 数组并不是构造类型 5.main( )函数的位置(B )。 A.必须在自定义函数前面 B. 可以在自定义函数后面 C. 必须位于程序的最前面 D. 必须在自定义函数后面 6.C语言函数体由(C )括起来。 A.< > B. ( ) C. { } D. [ ] 7.(A )是不正确的叙述。 A.注释说明只能位于一条语句的后面 B. C源程序的基本组成单元是函数 C. C源程序可由一个或多个函数组成 D. 每条语句最后必须有一个分号 8.一个C语言源程序是由(B )。 A.一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 9.结构化程序设计的三种基本结构是(C )。 A.函数结构、判断结构、选择结构 B. 平行结构、嵌套结构、函数结构 C. 顺序结构、选择结构、循环结构 D. 判断结构、嵌套结构、循环结构 10.C源程序的调试是指对源程序进行(C )。 A.录入与编辑 B. 查错与编译 C. 查错与排错 D. 连接与运行 11.C语言中,可将一系列语句置于(C )从而构成复合语句。 A.一对尖括号"< >"之间 B. 一对圆括号"( )"之间 C. 一对花括号"{ }"之间 D. 一对方框号"[ ]"之间 12.构成C源程序的基本单位是( D )。 A.语句 B. 变量 C. 运算符 D. 函数 13.以下叙述中正确的是(A )。 A.C源程序中注释部分可以出现在程序中任意合适的地方 B.一对花括号"{ }"只能作为函数体的定界符 C.C源程序编译时注释部分的错误将被发现 D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名

福建省计算机二级 C语言 考试选择题

福建省计算机等级考试二级(C )试题 一、选择题 1、若定义:int x=2; y=3; float i ; 则以下符合C 语言语法的表达式是(B ) A 、x=x* 3=2 B 、x=(y= = 1) C 、i=float(x) D 、i%(-3) 2、若有定义:int a=5, b=2, c=1;则表达式a-b

C语言综合练习题

《C语言程序设计》综合练习题 一、单项选择题 1.下列(D)是字符串比较函数。 A. puts() B.gets() C. strcpy ()拷贝字符串 D. strcmp()比较字符串 2.构成一个完整的C源程序必须有且只有一个(C )。 A. 函数 B.过程 C. 主函数int main D. 程序 3. 设有int i,j,k;则表达式i=1,j=2,k=3,i&&j&&k的值为( A )。 A. 1 B. 2 C. 63 D. 0 4.在C语言中,不同类型数据混合运算时,要先转化成同一类型后进行运算。设一表达式中包含有int、long、unsigned、char类型的变量和数据,则表达式最后的运算结果是(D)类型数据。 A.int B.char C.unsigned D.long 5.下列( D )不是构成标识符的字符。 A.字母 B.数字 C.下划线 D.标点符号 6.表达式:3>5&&-1||6<3-!-1的值是(A)。 A. 0 B.1 C. 表达是不合法 D. 均不对 7. 以下标识符中能做为合法的C用户标识符的是(D)。 A.A3+B3 B. float C. 3dx D. x3d 8. 以下数据中不正确的数值或字符常量是(B)。 A. 0.0 B. 3E2.7 C. 9861 D. 0xabcd 9. fp=fopen(''test.txt",''r''); 语句中,r对文件处理方式是(A )。 A. 只读打开文件 B. 只写打开文件 C. 追加打开文件 D. 读写打开文件 10.表示关系x<=y<=z的C语言表达式为( A ) A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z) C. (x<=y)&(y<=z) scanf后才加& D. (x<=y<=z) 11.如果要把常量327存入变量a中,a不能定义的类型是(B )。 A. int B. char字符串 C. long D. float 12. 在变量的存储结构中,(B)局部变量的初始化只有一次。 A. 自动 B. 静态 C.外部 D. 寄存器 13.下列能正确进行字符串赋值操作的语句是(C)。 A. char s[5]={ "ABCDE"}; B. char s[5]={ 'a', 'b', 'c', 'd', 'e'} C. char *s;s="abcde"; D. char *s; scanf("%s",s); 14.语句if(3/4>1/2)a=1;else a=0; 运行后,a的值是(A)。 A. 1 B. 0 C.与机器有关 D.语法有错 15.下列( C )是合法自定义标识符。 A. 3ma B. float C. m3a D.–ab 16.设a,b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D) A. 'a' && 'b' B. a<=b C. c>=b||b+c&&b-c D. a<=b+c&&c>=a+b 17.判断整型变量i,j可同时被2整除的表达式(i,j同时被2整除返回1,否则返回

C语言程序设计复习题(选择题)新

第二部分选择题 1.假设整型变量a为2,使b的值为0的表达式是( )。 A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?0:1 提示正确答案为C 2. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。 A)2.5 B)2.75 C)3 D)9.5 提示正确答案为A 3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。 A)true B)false C)0 D) 1 提示正确答案为D 4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为()。 A)7 B)8 C)6 D)2 提示正确答案为B 5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。 A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y 6.已知a=12,表达式a+=a-=a*=a的值为()。 A)144 B)-12 C)0 D)24 提示正确答案为C 6. 在下面C语言的函数说明语句中,正确的是()。 A) int fun(int x, int y); B) int fun(int x,y); C) int fun(x,y); D) int fun(int x; int y); 提示正确答案为A 7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。 A) int B) float C) double D) 不能确定提示正确答案为C 8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是()。 A)5 B)6.2 C)7 D)6 提示正确答案为D 9. 表达式k=(12<10)?4:1?2:3的值为()。 A) 1 B) 2 C) 3 D) 4 提示正确答案为B 10. 下列哪组运算符的优先级相同且运算次序从左到右()。 A)()[ ] -> . B)++ -- += C) < & | ^ D)&& || 提示正确答案为A 11. 已知:int x=1, y=2, z=0; 则执行:z=x>y?10:20, z的值为()。 A)10 B)20 C)1 D)2 提示正确答案为B 12. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。 A) 2 B) 4 C) 4.0 D) 4.5 提示正确答案为C 13. sizeof(''a''+10)的值为()类型。 A)int B) float C) double D)char 提示正确答案为A 14. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为( )。 (A) 1 (B) 2 (C) 3 (D) 4 提示正确答案为C 15. C语言中,运算对象必须是整型数的运算符是()。 A)% B)/ C)%和/ D)* 提示正确答案为A 16. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。 A)1 B)2 C)2.0 D)2.5 提示正确答案为C 17. 若t为double类型,表达式t=1,t+5,t的值是( ) 。 A)1 B)6.0 C)1.0 D)6 提示正确答案为C 18. 在以下一组运算符中,优先级最高的运算符是( )。

C语言试题及答案

作业A: 一、单项选择题 1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?(B) A)int B)char(0~127,ASC||码)C)long D)float 2、若x 为unsigned int 型变量,则执行下列语句后x值为( A ) x = 65535; printf(“%d\n”,x); A)65535 B)1 C)无定值D)-1 3、有以下程序 main() {int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a

C语言程序设计-大学模拟题(附答案)

《C语言程序设计》模拟题 一、单项选择题 1.下面程序运行的结果是 void ss(char *s,char t) { while(*s) { if(*s= =t) *s=t-‘a’+’A’; s++; } } void main() { char str1[100]=”abcddfefdbd”,c=’d’; ss(str1,c); printf("%s\n",str1); } A.ABCDDFEFDBD B.abcDDfefDbD C.abcAAfefAbA D.Abcddfefdbd [答案]:B 2.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 A.地址传递 B.单向值传递 C.由实参传给形参,再由形参传给实参 D.由用户指定传递方式 [答案]:B 3.C语言中的标示符只能由字母,数字和下划线三种字符组成,且第一个字符( ) A.必须是字母 B.必须是下划线 C.必须是字母或下划线 D.可以是字母或数字或下划线中的任意一种 [答案]:C 4.不能把字符串:"good!"赋给数组b的语句是 A.char b[10]={’g’,’o’,’o’,’d’,’!’}; B.char b[10];b="good!"; C.char b[10];strcpy(b, "good!") ; D.char b[10]="good!"; [答案]:B

5.对for(表达式1;;表达式3)可以理解为 A.for(表达式1;0;表达式3) B.for(表达式1;表达式1;表达式3) C.for(表达式1;1;表达式3) D.for(表达式1;表达式3;表达式3) [答案]:C 6.面向对象程序设计将数据与( ) 放在一起,作为一个相互依存不可分割的整体来处理. A.对数据的操作 B.信息 C. 数据隐藏 D.数据抽象 [答案]:A 7.若二维数组a有m列,则在a[i][j]前的元素个数为 A.j*m+i B.A. i*m+j C.i*m+j-i D.i*m+j+1 [答案]:B 8.若有int *p,a[10];p=a; ,则下列写法不正确的是 A.p=a+2 B.a++ C.*(a+1) D.p++ [答案]:B 9.若有以下定义:char s[10]="include“,*p=s;,则不能代表字符‘u’的表达式为 A.s[4] B.s+4 C.*(p+4) D.p+=4,*p; [答案]:B 10.设c1,c2均是char型变量,则下面不正确的函数调用为 A.scanf("c1=%cc2=%c”,&c1,&c2); B.getchar(); C.putchar(c2); D.putchar(c1,c2); [答案]:D 11.说明一个结构体变量时,系统分配给它的内存是 A.各成员所需内存量的总和

自定义数据类型习题及答案(C语言)

第7章自定义数据类型习题 一.选择题: 1.当定义一个结构体变量时,系统分配给它的内存空间是【】。 A) 结构中一个成员所需的内存量B) 结构中最后一个成员所需的内存量 C) 结构体中占内存量最大者所需的容量D) 结构体中各成员所需内存量的总和2.若有以下说明,对初值中整数2的正确引用方式是【】。 static struct { char ch; int i; double x; } a[2][3]={{‘a’,1,3 .45,’b’,2,,’c’,3,} {‘d’,4,,’e’,5,,’f’,6, }}; A) a[1][1].i B) a[0][1].i C) a[0][0].i D) a[0][2].i 3.根据以下定义,能打印字母M的语句是【】。 struct p { char name[9]; int age; }c[10]={“Jobn”,17,”Paul”,19,”Mary”,18,”Adam”,16}; A) printf(“%c”,c[3].name);B) printf(“%c”,c[3].name[1]); C) printf(“%c”,c[2].name);D) printf(“%c”,c[2].name[0]); 4.以下说明和语句中,已知int型数据占两个字节,则以下语句的输出结果是【】。 struct st { char a[l0]; int b; double c; }; printf(“%d”,sizeof(struct st)); A) 0 B) 8 C) 20 D) 2 5.以下说明和语句中,对结构体变量std中成员id的引用方式不正确的是【】。 struct work { int id; int name; } std, *p; p=&std; A) B) * C) (*p).id D) & 6.如设有如下定义,若要使px指向rec中的成员x,正确的赋值语句是【】。 struct aa

相关文档
最新文档